C# Distinct去重泛型List

  • List<int>去重
  • List<string>去重
  • List<T>去重

1. List<int>去重

 List<int> ilist = new List<int>() { 1, 2, 3, 4, 2, 3 }; ilist = ilist.Distinct().ToList(); foreach (var item in ilist) { Console.WriteLine(item); }

2. List<string>去重

 List<string> strList = new List<string>() { "4", "4", "5", "6", "6" }; strList = strList.Distinct().ToList(); foreach (var item in strList) { Console.WriteLine(item); }

3. List<T>去重

 public class User { public int Id { get; set; } public string Name { get; set; } public int Age { get; set;} }//Main方法 List<User> list = new List<User>() { new User() { Id = 1, Name = "张三", Age = 11 } , new User() { Id = 1, Name = "张三", Age = 11} , new User() { Id = 3, Name = "李四", Age = 13 } , }; //方法一 list = list.GroupBy(p => p.Id).Select(q => q.First()).ToList(); //方法二 list = list.GroupBy(p => p.Name).Select(q => q.First()).ToList(); //方法三 list = list.GroupBy(p => p.Age).Select(q => q.First()).ToList(); foreach (var item in list) { Console.WriteLine("Id:" + item.Id + ", Name:" + item.Name + ", Age:" + item.Age); } //方法四 var list1 = (from p in list group p by new { p.Id, p.Name, p.Age } into g select g).ToList(); foreach (var item in list1) { Console.WriteLine("Id:" + item.Key.Id + ", Name:" + item.Key.Name + ", Age:" + item.Key.Age); }

相关文章