2

在给定的代码示例中,为什么我们使用 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();
4

1 回答 1

6

你不需要它。你可以这样做:

list4.SelectMany(x => x).ToList();

原因正如您所说,数组已经是数组。SelectMany 需要一个IEnumerable<T>,所以不需要添加额外的操作。为什么有人在一个例子中这样做,不知道。也许他们试图明确表示您必须通过 IEnumerable?

于 2012-07-24T17:02:10.177 回答