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