LINQ学习_Lambda_Group
LINQ_Lambda_Group
///新建一个Person类
public class person
{
public int id { get; set; }
public string name { get; set; }
public int age { get; set; }
public string grade { get; set; }
}
///Person赋初始值
var persons = new List<person>() {
new person(){ id=1,name="zhangsan1",age=25,grade="一年级"},
new person(){ id=2,name="zhangsan2",age=26,grade="一年级"},
new person(){ id=3,name="zhangsan3",age=27,grade="一年级"},
new person(){ id=4,name="zhangsan4",age=28,grade="一年级"},
new person(){ id=5,name="zhangsan5",age=29,grade="一年级"},
new person(){ id=6,name="lisi1",age=25,grade="2年级"},
new person(){ id=7,name="lisi2",age=26,grade="2年级"},
new person(){ id=8,name="lisi3",age=27,grade="2年级"},
new person(){ id=9,name="lisi4",age=28,grade="2年级"},
new person(){ id=10,name="lisi5",age=29,grade="2年级"},
new person(){ id=1,name="wangwu1",age=25,grade="一年级,2年级,3年级"},
new person(){ id=2,name="wangwu2",age=26,grade="一年级,2年级,3年级"},
new person(){ id=3,name="wangwu3",age=27,grade="一年级,2年级,3年级"},
new person(){ id=4,name="wangwu4",age=28,grade="一年级,2年级,3年级"},
new person(){ id=5,name="wangwu5",age=29,grade="一年级,2年级,3年级"},
};
///测试
///拿到分组后所有的数据
var personGroup = persons.GroupBy(r => r.grade, (key, group) => group);
Console.WriteLine("-------------------------------拿到分组后所有的数据---------------------------------");
foreach (var items in personGroup)
{
foreach (var item in items)
{
Console.WriteLine($"ID:{item.id},name={item.name},age={item.age},grade={item.grade}");
}
}
Console.WriteLine("-----------------------------拿到分组后最后一条数据-------------------------------");
///拿到分组后最后一条数据
var personGroup1 = persons.GroupBy(r => r.grade, (key, group) => group.Last());
foreach (var item in personGroup1)
{
Console.WriteLine($"ID:{item.id},name={item.name},age={item.age},grade={item.grade}");
}
Console.WriteLine("-----------------------------拿到分组后第一条数据--------------------------------");
///拿到分组后第一条数据
var personGroup2 = persons.GroupBy(r => r.grade, (key, group) => group.First());
foreach (var item in personGroup2)
{
Console.WriteLine($"ID:{item.id},name={item.name},age={item.age},grade={item.grade}");
}
测试结果
ID:1,name=zhangsan1,age=25,grade=一年级
ID:2,name=zhangsan2,age=26,grade=一年级
ID:3,name=zhangsan3,age=27,grade=一年级
ID:4,name=zhangsan4,age=28,grade=一年级
ID:5,name=zhangsan5,age=29,grade=一年级
ID:6,name=lisi1,age=25,grade=2年级
ID:7,name=lisi2,age=26,grade=2年级
ID:8,name=lisi3,age=27,grade=2年级
ID:9,name=lisi4,age=28,grade=2年级
ID:10,name=lisi5,age=29,grade=2年级
ID:1,name=wangwu1,age=25,grade=一年级,2年级,3年级
ID:2,name=wangwu2,age=26,grade=一年级,2年级,3年级
ID:3,name=wangwu3,age=27,grade=一年级,2年级,3年级
ID:4,name=wangwu4,age=28,grade=一年级,2年级,3年级
ID:5,name=wangwu5,age=29,grade=一年级,2年级,3年级
-------------------------------拿到分组后最后一条数据---------------------------------
ID:5,name=zhangsan5,age=29,grade=一年级
ID:10,name=lisi5,age=29,grade=2年级
ID:5,name=wangwu5,age=29,grade=一年级,2年级,3年级
-----------------------------拿到分组后第一条数据-----------------------------------
ID:1,name=zhangsan1,age=25,grade=一年级
ID:6,name=lisi1,age=25,grade=2年级
ID:1,name=wangwu1,age=25,grade=一年级,2年级,3年级