1. 程式人生 > >C# List集合去重使用lambda表示式

C# List集合去重使用lambda表示式

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());

實際的意思是根據某一列進行分組,然後獲取每一組的第一條資料,可以解決此次需求