在C#中列出Jagged数组

时间:2018-04-04 21:33:08

标签: c# arrays list

我有一个清单

List<int> list = new List<int>();

现在我想将它添加到Jagged Array

int[][] A = new int[][] { list.ToArray() };

这个代码在顶部没问题,但问题是列表中的所有值都添加到第一个块中! 那么,这将解决:

int[] x1 = list.ToArray();
int[][] A = new int[][] { new[] { x1[0] }, new[] { x1[1] }, new[] { x1[2] }, new[] { x1[3] } };

但是(上面的代码)我现在手动完成了这个,这就是我列表中列出的前四个索引..

如何将整个列表(所有索引)添加到我的锯齿状数组(使用圆圈或其他方法)。

1 个答案:

答案 0 :(得分:5)

使用投影。

这将遍历列表,创建一个具有当前迭代唯一值的新数组,然后通过创建所有这些数组的数组来结束。

int[][] A = list.Select(i => new[] { i }).ToArray();

另外,和as [@maccettura] notes一样,这是一个锯齿状的数组(数组的每个成员本身也是一个数组)。