小编lea*_*999的帖子

C# LINQ 按如下所示格式的对象列表进行分组

我有一个这种格式的数据列表 -

User    Role        Code
John    admin       101
John    admin       101
John    admin       100
Smith   superadmin  150
Smith   superadmin  120
Smith   superadmin  130
Smith   superadmin  140
Smith   superadmin  160
John    review      180
John    review      190
John    review      200
Run Code Online (Sandbox Code Playgroud)

我想根据这样的普通用户折叠它 -

 User    Role        Code
 John    admin       100,101
 Smith   superadmin  120,130,140,150,160     
 John    review      180,190,200
Run Code Online (Sandbox Code Playgroud)

我试过这个 -

result = userRoles.GroupBy(l => l.User).Select(u => new UserRole()
{ 
    Code = string.Join(", ", userRoles.Where(d => d.User ==  u.Key)
                                      .Select(d => d.Code)
                                      .ToArray()),
    User = u.Key,
}).ToList(); …
Run Code Online (Sandbox Code Playgroud)

c# linq group-by

4
推荐指数
1
解决办法
107
查看次数

标签 统计

c# ×1

group-by ×1

linq ×1