我知道如何在C#中将两个列表组合在一起,但假设我有一个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)
}
}
Run Code Online (Sandbox Code Playgroud)
用于SelectMany将集合集合展平到一个列表中:
var hugeList = objects.SelectMany(o => o.list);
Run Code Online (Sandbox Code Playgroud)
或者是实际的清单:
List<int> hugeList = objects.SelectMany(o => o.list).ToList();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
69 次 |
| 最近记录: |