0

我知道如何在 C# 中将 2 个列表组合在一起,但假设我有一个 IEnumerable 对象,每个对象都有一个列表。如何创建 1 个巨大的列表,连接所有列表。

我基本上想在 Linq 中执行以下操作(更优雅)

//FakeObject has a list property 
IEnumerable<FakeObject> objects = ...;
List<int> hugeList = new List<int>();

foreach(FakeObject object in objects) 
{
   List<int> list = object.list;
   foreach(int i in list)
   {
      hugeList.Add(i)
   }
}
4

1 回答 1

8

用于SelectMany将一组集合展平为一个列表:

var hugeList = objects.SelectMany(o => o.list);

或实际列表:

List<int> hugeList = objects.SelectMany(o => o.list).ToList();
于 2013-11-01T16:31:21.137 回答