C#列表问题

Yip*_*Yay 0 c# ienumerable merge list

做出以下行动的好方法是什么:

List<IEnumerable<T>> listOfEnumerables = Get...();

List<T> listOfObjects = new List<T>();

// I want 'listOfObjects' to contain every element from every enumerable
// in 'listOfEnumerables'.
Run Code Online (Sandbox Code Playgroud)

是否有任何美丽的方式来做这个而不是以下:

foreach (var enumerable in listOfEnumerables)
{
    listOfObjects.AddRange(enumerable);
}
Run Code Online (Sandbox Code Playgroud)

谢谢.

SLa*_*aks 9

您可以使用LINQ:

List<T> listOfObjects = listOfEnumerables.SelectMany(s => s).ToList();
Run Code Online (Sandbox Code Playgroud)