0
点赞
收藏
分享

微信扫一扫

C# 将list分组,每组取第一个


//类型

class Obj
{
public int Id { get; set; }
public string Name { get; set; }
}

//list

List<Obj> list= new List<Obj>()
{
new Obj(){Id = 1,Name = "B"},
new Obj(){Id = 1,Name = "A"},
new Obj(){Id = 3,Name = "E"},
new Obj(){Id = 2,Name = "D"},
new Obj(){Id = 4,Name = "F"},
new Obj(){Id = 2,Name = "C"},
};

以下是两种达到目的的写法,其实就是一种。

只是第一种高端些,第二种易懂些。

var result = list.GroupBy(x => x.Id).Select(groups => new {FirstOrDefault = groups.FirstOrDefault()});

 

var result = from x in list group x by x.Id into groups
select new {FirstOrDefault = groups.FirstOrDefault()};

 

举报

相关推荐

0 条评论