当前位置: 代码迷 >> C# >> linq的DISTINCT如何用
  详细解决方案

linq的DISTINCT如何用

热度:115   发布时间:2016-05-05 04:54:06.0
linq的DISTINCT怎么用?
比如说:我有一个List<string>
里面有  “小明”   ,  小花“” ,  “小明” ,“小明” , “小花”

我用distinct 怎么去掉重复的记录啊??

我不想写一个foreach语句来排除重复项


菜鸟求助
------解决思路----------------------
using System.Linq;

List<string> l = new[] { "小明", "小花", "小明", "小明", "小花" }.ToList();
l = l.Distinct().ToList();

------解决思路----------------------
List是支持DISTINCT的,直接list.DISTINCT()即可


只要是支持的方法,直接在   dot后面接方法名就可以了
------解决思路----------------------
因为string支持ICompareable,所以可以直接调用Distinct
不实现这个接口的,需要自己写一个比较器传进去。也可以用groupby

比如你的代码:
list = list.Distinct().ToList();
等价
list = list.GroupBy(x => x).Select(x => x.First()).ToList();
  相关解决方案