使用LINQ合并列中的非分组元素

时间:2010-03-02 20:14:44

标签: c# .net linq

是否可以将行与列分组并将剩余数据合并到另一列?

这是一张图片,可以更好地理解问题,看看我想要实现的目标:

The wanted result http://img693.imageshack.us/img693/9227/linqgroupingquestion.gif

您可以按IdPlaceIdInternship和新列IdUsers查看分组,其中包含详细信息或用户ID的组合。

我不在乎我是否不能再使用新栏目中的数据,而是用于显示。

1 个答案:

答案 0 :(得分:2)

你正在寻找类似的东西:

var result = 
  collection.GroupBy(x => new { x.IdPlace, x.IdInternship })
    .Select(x => new { x.Key.IdPlace, x.Key.IdInternship,
           IdUsers = String.Join(", ", 
                        x.Select(c => c.IdUser.ToString()).ToArray()) });

(在.NET 4.0中不需要.ToArray()