c# list数据去重,使用linq的GroupBy数据去重只需要三行代码 模型代码 public class UserInfo { public int id { set; get; } public string name { set; get; } public int typeid { set; get; } } 准备数据 #region 准备数据
c# list数据去重,使用linq的GroupBy数据去重只需要三行代码
模型代码
public class UserInfo
{
public int id { set; get; }
public string name { set; get; }
public int typeid { set; get; }
}
准备数据
#region 准备数据
List<UserInfo> Userinfolist3 = new List<UserInfo>();
Userinfolist3.Add(new UserInfo()
{
id = 1,
name = "name1",
typeid = 1
});
Userinfolist3.Add(new UserInfo()
{
id = 1,
name = "name1.1",
typeid = 1
});
Userinfolist3.Add(new UserInfo()
{
id = 2,
name = "name2",
typeid = 1
});
Userinfolist3.Add(new UserInfo()
{
id = 2,
name = "name2.2",
typeid = 1
});
Userinfolist3.Add(new UserInfo()
{
id = 3,
name = "name3",
typeid = 1
});
#endregion
业务代码
不带注释
Console.WriteLine("、、、、、、、、、【数据去重】、、、、、、、、、");
var newList = Userinfolist3.GroupBy(u=>u.id);
List<UserInfo> repeatDataList = new List<UserInfo>();
foreach (var item in newList)
{
repeatDataList.Add(item.ToList()[0]);
}
带注释
Console.WriteLine("、、、、、、、、、【数据去重】、、、、、、、、、");
Console.WriteLine("【原始数据】");
foreach (var item in Userinfolist3)
{
Console.WriteLine($"intlist1--id{item.id}|name:{item.name}|type:{item.typeid}");
}
Console.WriteLine("【去重数据】");
var newList = Userinfolist3.GroupBy(u=>u.id);
List<UserInfo> repeatDataList = new List<UserInfo>();
foreach (var item in newList)
{
repeatDataList.Add(item.ToList()[0]);
Console.WriteLine($"去重--id{item.ToList()[0].id}|name:{item.ToList()[0].name}|type:{item.ToList()[0].name}");
}
结果
、、、、、、、、、【数据去重】、、、、、、、、、
【原始数据】
intlist1--id1|name:name1|type:1
intlist1--id1|name:name1.1|type:1
intlist1--id2|name:name2|type:1
intlist1--id2|name:name2.2|type:1
intlist1--id3|name:name3|type:1
【去重数据】
去重--id1|name:name1|type:name1
去重--id2|name:name2|type:name2
去重--id3|name:name3|type:name3
c# Linq GroupBy数据分组,实现分组查询,带案例
【本文由: 阜宁网站制作 http://www.1234xp.com/funing.html 复制请保留原URL】