【发布时间】:2018-05-23 22:22:58
【问题描述】:
var a1 = new List<KeyValuePair<TKey, TValue>>();
var a2 = new List<KeyValuePair<TKey, TValue>>();
我有上面这两个键值对列表。我想在删除重复项的同时合并它们。我很确定我可以通过使用 LINQ 来做到这一点,但是我看到的示例并不直接适用,因为它们没有指定从 List<KeyValuePair<TKey, TValue>> 到 List<KeyValuePair<TKey, TValue>> 的完整过程。如果两个列表包含相同的键,它们也将具有相同的值,因此在合并时保留哪一个并不重要。
【问题讨论】:
-
定义“重复”——是他们有相同的键,还是相同的键和对象?如果它是“相同的键”,如果您多次使用特定键,但每次使用不同的 RandomObject - 您如何选择要选择的键?
-
@CamiloTerevinto 鉴于这个问题,我假设它是
List<KeyValuePair<TKey, TValue>>- 希望作者能够确认 -
是的,它是一个 List
>。抱歉,我对这些类型的对象不熟悉。 @CamiloTerevinto -
别担心,已经解决了
-
具有相同键的对象也将具有相同的值。我会使用常规列表,但我正在处理其他人的代码。 @CamiloTerevinto
标签: c# list linq dictionary