C# List集合去重使用lambda表示式
阿新 • • 發佈:2018-12-06
name | age | sex |
Lucy | 22 | woman |
Lily | 23 | woman |
Tom | 24 | man |
Lucy | 22 | woman |
Lily | 23 | woman |
LiLei | 25 | man |
List<Person> list_persons = new List<Person>(new Person("Lucy",22,"woman"),new Person("Lily",23,"woman"),new Person("Tom",24,"man"),new Person("Lucy",22,"woman"),new Person("Lily",23,"woman"),new Person("LiLei",25,"man"));
如同上表中,名字(name)中重複的想要去除,使用linq進行去重的方法,使用Distinct()根本無法達到要求。那麼:
var list_distinct = list_Persons.GroupBy(c => c.name).Select(c => c.First());
實際的意思是根據某一列進行分組,然後獲取每一組的第一條資料,可以解決此次需求