【问题标题】:List to Jagged Array in C#在 C# 中列出交错数组
【发布时间】:2018-04-04 21:33:08
【问题描述】:

我有一个清单

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

现在我想将它添加到锯齿状数组中

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] } };

但是(上面的代码)我现在已经手动完成了,这只是我将列表放入数组中的前四个索引..

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

【问题讨论】:

  • 仅供参考 那不是二维数组,那是锯齿状数组(即数组数组)
  • 你不能创建一个具有两个 int 属性的 List 吗?
  • 不清楚您要构建什么。您是否正在尝试构建一个锯齿状数组,其中第一行有 1 个元素,下一行有 2 个元素,接下来是 3 个,等等?请编辑您的问题。给定一个有 10 个元素的 List&lt;int&gt;,显示您想要作为输出的 int[][]

标签: c# arrays list


【解决方案1】:

使用投影。

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

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

顺便说一句,as [@maccettura] notes,这是一个锯齿状数组(数组的每个成员也是一个数组本身)。

【讨论】:

猜你喜欢
  • 2012-03-21
  • 1970-01-01
  • 1970-01-01
  • 2016-07-13
  • 2014-03-26
  • 2017-11-16
  • 1970-01-01
  • 1970-01-01
  • 2012-01-31
相关资源
最近更新 更多