我该如何将一个 IEnumerable<IEnumerable<T>>
转换成一个 List<List<T>>
?
这个怎么样?…
IEnumerable<IEnumerable<int>> input = ...
List<List<int>> nestedList = input.Select(i => i.ToList()).ToList();
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并不是生成所需数据结构的最合适方式。也许你应该重构方法,使其返回列表而不是可枚举对象。