C# Aggregate用法

2021-02-07 14:44发布

有类  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可以省略的写法

标签: c#
2条回答
我欲成王,谁敢阻挡
2楼-- · 2021-02-07 15:06

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

查看更多
我想做一个坏孩纸
3楼-- · 2021-02-07 15:15

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

查看更多
登录 后发表回答