如何在Enumerable.Zip扩展方法C#中删除重复项?

时间:2018-09-25 08:30:54

标签: c# .net

我有两个列表,我正在使用ZIP合并

List<long> id = new List<long>();
List<long> requester = new List<long>();
id.Add(101);
id.Add(102);
id.Add(103);
id.Add(101);
requester.Add(100);
requester.Add(200);
requester.Add(200);
requester.Add(100);
var numbersAndWords = id.Zip(requester, (n, w) => new { Number = n, Word = w });

有什么方法可以删除numbersAndWords中的重复值? 任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

id.Zip(requester, (n, w) => new { Number = n, Word = w }).Distinct();

由编译器生成的匿名类获得了一个EqualsGetHashCode方法,这些方法考虑了所有属性,因此Distinct应该完全适合您的目的。

此外,Distinct不会更改顺序,只会在您觉得重要的情况下删除重复项。