2013-10-20 109 views
-2

如何删除集合中的重复项?例如:删除集合中的重复项

List<double> somelist=new List<double>{2, 2, 3}; 

应该使用什么LINQ方法?

请尽量简化。

+1

只需使用['HashSet'](http://msdn.microsoft.com/zh-cn/library/bb359438.aspx),您将不会有任何重复内容。 –

+0

您是否试图在没有重复项目的情况下获得新的收藏集,或者您是否希望没有dups的同一个收藏集? – Gabe

回答

6

Enumerable.Distinct可能是你在找什么。

var somelist = new List<double>{2, 2, 3}.Distinct(); 

// somelist now contains 2, 3 
+0

它只是摆脱重复? – stackptr

+3

@EdwardKarak你应该参考['Enumerable.Distinct']的文档(http://msdn.microsoft.com/en-us/library/system.linq.enumerable.distinct.aspx) –

+0

只要你的' T'' IEnumerable '实现'GetHashCode'和'Equals'方法属性'Enumerable.Distinct'会正常工作。 – MarcinJuraszek

2

我会建议使用的HashSet<double>代替List<double>

+0

为什么?这也不能真正回答这个问题 – DarcyThomas