转换IEnumerable<;IEnumerable<;T>>;到列表<;列表<;T>>

本文关键字:gt lt 列表 IEnumerable 转换 | 更新日期: 2023-09-27 18:22:07

如何将IEnumerable<IEnumerable<T>>转换为List<List<T>>

转换IEnumerable<;IEnumerable<;T>>;到列表<;列表<;T>>

这个怎么样。。。

IEnumerable<IEnumerable<int>> input = ...
List<List<int>> nestedList = input.Select(i => i.ToList()).ToList();

使用List(IEnumerable)构造函数和Linq:的组合

List<List<T>> DoIt<T>(IEnumerable<IEnumerable<T>> items)
{
    return new List<List<T>>(items.Select((x) => x.ToList()));
}

可能是这样的:

var test2 = test.ToList().ConvertAll(x => x.ToList());

您可能想一想为什么要这样做。如果是因为您有一个由LINQ查询返回的可枚举数的可枚举项,然后您想通过索引引用这些可枚举数,那么LINQ可能不是生成所需数据结构的最合适方法。也许您应该使用返回列表而不是枚举的方法进行重构。