如何创建数组c#

时间:2019-03-28 04:08:53

标签: c#

我想创建一个2D数组(本质上是一个网格),以使每个元素都是一个长度为2的整数数组(每个元素代表一个2D向量)。

我直觉上认为这可以,但是我得到了invalid rank specifier

int[][,] rarr = new int[2][100, 100];

1 个答案:

答案 0 :(得分:3)

您要查找的代码是这样:

int[][,] rarr = new int[2][,];
rarr[0] = new int[100, 100];
rarr[1] = new int[100, 100];

或更笼统地说,这是

int[][,] rarr = new int[2][,];

for (int i = 0; i < 2; i++)
    rarr[i] = new int[100, 100];

您的代码正在尝试在一行代码中分配3个不同的数组-您不能这样做。就像您要尝试执行与此非法代码一样的操作:

List<Dictionary<string, string>> x = new List<new Dictionary<string, string>()>();

我觉得,根据您的描述,您实际上确实想要这样:

int[,][] rarr = new int[100,100][];

for (int i = 0; i < 100; i++)
    for (int j = 0; j < 100; j++)
        rarr[i, j] = new int[2];