在给定的代码示例中,我们为什么使用 x.ToArray() ? 每个元素 x 已经是一个数组不是吗?
请让我少一些困惑:)
var array1 = new int[3] { 1, 2, 3 }; //New integer array
var array2 = new int[3] { 4, 5, 6 }; //New integer array
var array3 = new int[3] { 7, 8, 9 }; //New integer array
IList<int[]> list4 = new List<int[]> { array1, array2, array3 };
var theManyList = list4.SelectMany(x => x.ToArray()).ToList();
最佳答案
你不需要它。你可以这样做:
list4.SelectMany(x => x).ToList();
原因正如你所说,数组已经是数组了。 SelectMany 需要 IEnumerable<T>
,所以不需要添加额外的操作。为什么有人在例子中这样做,不知道。也许他们试图明确表示您必须传递 IEnumerable?
关于arrays - .NET Linq。关于 SelectMany 的困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11635707/