合并Linq中的两个集合

时间:2018-12-11 14:44:24

标签: c# linq ienumerable

我有IEnumerable<GroupResult<T>>,其中GroupResult<T>在下面:

public class GroupResult<T>
{
 public string Key { get; set; }
 public IEnumerable<T> Items { get; set; }
}

因此,我们可以说集合看起来像这样:

{
Key: "1",
Items: { "A", "B" }
}

{
Key: "1",
Items: { "C", "D" }
}

{
Key: "2",
Items: { "E", "F" }
}

我可以执行以下操作来获得以下信息:

{
Key: "1",
Items: { "A", "B", "C", "D" }
}

{
Key: "2",
Items: { "E", "F" }
}

1 个答案:

答案 0 :(得分:0)

使用GroupBy()

var result = intput.GroupBy(x => x.Key)
                   .Select(x => new GroupResult() 
                          { 
                              Key = x.Key, 
                              Items = x.SelectMany(y => y.Items) 
                           });

https://dotnetfiddle.net/p8HklJ