2010-03-02 100 views
2

合併列中的非分組元素是否可以將列分組並將列中的其餘數據合併到另一列中?使用LINQ合併列中的非分組元素使用LINQ

下面是一個圖像,以便更好地瞭解這個問題,看到我想達到的目標:

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

您可以通過IdPlaceIdInternship看到的分組和新列IdUsers與細節制作,或組成用戶ID。

我不在乎如果我不能再用新列中的數據工作,那是爲了顯示。

回答

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()) }); 

.ToArray()是在.NET 4.0中不必要的)

+0

+1非常好... – JonH 2010-03-02 20:20:19