C# Aggregate用法

2021-02-07 14:55发布

问题:

有类  class User 包含两个属性 Id,Name,现在获得List<User>  Users =new List<User>{  new User{Id=1,Name="张三"},new User{Id=2,Name="李四"}};现在我想获得Users的Id字符串"1,2",使用Aggregate, Users.select(u=>u.id).Aggregate((x,y)=>x+","+y)),请教这个select可以省略的写法

回答1:

可以用
string result1 = userList.Aggregate("", (a, b) =>
{
return a + b.Id + ",";
});
result1 = result1.Trim(',');
,但是这个写个要判断最后的分隔号;
可以用下面的写法
string result2 = string.Join(",", userList.Select(a => a.Id));



回答2:

Users.Aggregate((x,y)=>x.id+","+y.id))



标签: c#