是否可以将行与列分组,并将剩余数据合并到另一列中?
这是一张可以更好地理解问题并查看我想要实现的图像:
The wanted result http://img693.imageshack.us/img693/9227/linqgroupingquestion.gif
您可以看到按IdPlace
,IdInternship
分组以及带有详细信息或用户ID组成的新列IdUsers
。
我不在乎是否无法再使用新列中的数据,而是用于显示。
最佳答案
您正在寻找类似的东西:
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()
)