比如说:我有一个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();