Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何创建数组c的矩形数组#_C# - Fatal编程技术网

C# 如何创建数组c的矩形数组#

C# 如何创建数组c的矩形数组#,c#,C#,我想创建一个2D数组(本质上是一个网格),这样每个元素都是长度为2的整数数组(每个元素代表一个2D向量) 我直觉上认为这会起作用,但我得到了无效的秩说明符: int[][,] rarr = new int[2][100, 100]; 您要查找的代码如下: int[][,] rarr = new int[2][,]; rarr[0] = new int[100, 100]; rarr[1] = new int[100, 100]; 或者,更一般地说,这是: int[][,] rarr = ne

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

我直觉上认为这会起作用,但我得到了无效的秩说明符:

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

您要查找的代码如下:

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];
int[][,]rarr=newint[2][,];
对于(int i=0;i<2;i++)
rarr[i]=新整数[100100];
您的代码试图在一行代码中分配3个不同的数组-这是您无法做到的。这就像你在尝试做与这段非法代码相同的事情:

List<Dictionary<string, string>> x = new List<new Dictionary<string, string>()>();
List x=新列表();
我觉得,从你的描述来看,你真的想要这个:

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];
int[,][]rarr=newint[100100][];
对于(int i=0;i<100;i++)
对于(int j=0;j<100;j++)
rarr[i,j]=新整数[2];

是的,我正在寻找您的最终解决方案,因为它创建了一个
100*100
数组,其中
I*j
是长度为2的整数数组。在声明和初始化过程中没有办法做到这一点吗?@harrystat-没有,如果有,我会在我的回答中提到。你知道为什么没有办法做到这一点吗?不知道,我以前创建过字典,我想我可以在初始化过程中创建多维数组。@HarryStudio-你不能创建字典,同时初始化内部字典。这同样适用于arrays.Hmmm,我的字典代码是:
staticdictionary uploadDictionary=newdictionary()。你说得对。我正在初始化一本词典,而不是初始化词典中的词典。为什么C#do禁止这样做?