删除集合中的重复值
本文关键字:集合 删除 | 更新日期: 2023-09-27 18:16:18
我有一个长List<long>
myIds的集合。我正在用id填充集合。然而,我在集合中得到了一些我想要删除的重复项。
我已经尝试在集合上使用distinct()
,但没有效果。重新排序和再次使用distinct()
也没有帮助。
在不编写自定义逻辑的情况下删除这些重复项的最佳方法是什么?
我试过了:
mydIds.OrderBy(x => x).Distinct().ToList();
你需要重新分配列表,因为LINQ不改变列表:
mydIds = mydIds.Distinct().ToList();
如果您使用的是3.5
及以上版本:
var hs = new HashSet<int>(myIds);
哈希集将由列表填充。如果列表包含重复的条目,它们将被忽略。
不能将Distinct的结果传递给List对象
List<long> id = new List<long>() {20,50,34, 20, 21, 45, 50, 900, 34, 20};
id = id.Distinct().ToList();
id.ForEach(x => Console.WriteLine(x));