如何将IEnumerable<IEnumerable<T>>
转换为List<List<T>>
?
答案 0 :(得分:12)
这个怎么样......
IEnumerable<IEnumerable<int>> input = ...
List<List<int>> nestedList = input.Select(i => i.ToList()).ToList();
答案 1 :(得分:5)
使用List(IEnumerable)构造函数和Linq的组合:
List<List<T>> DoIt<T>(IEnumerable<IEnumerable<T>> items)
{
return new List<List<T>>(items.Select((x) => x.ToList()));
}
答案 2 :(得分:4)
可能是这样的:
var test2 = test.ToList().ConvertAll(x => x.ToList());
答案 3 :(得分:2)
您可能想要为什么尝试这样做。如果是因为你有一个可由LINQ查询返回的可枚举的枚举,你想要通过索引引用它,那么LINQ可能不是生成所需数据结构的最合适的方法。也许你应该使用返回列表而不是枚举的方法进行重构。