Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.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#_.net_Arrays_Visual Studio_Multidimensional Array - Fatal编程技术网

C# 二维阵列的锯齿阵列

C# 二维阵列的锯齿阵列,c#,.net,arrays,visual-studio,multidimensional-array,C#,.net,Arrays,Visual Studio,Multidimensional Array,我试图创建一个1d数组(长度5),其中包含杂志[14,14]的2d数组。 这样我就可以走了(即,1d数组中的每个元素都引用一个具有14x14(=196个弹匣)的2d数组): 以这种方式初始化和分配元素的正确语法是什么?我相信这会起作用 myMags[0] = new Magazine[14,14]; myMags[1] = new Magazine[14,14]; myMags[2] = new Magazine[14,14]; myMags[3] = new Magazine[14,14];

我试图创建一个1d数组(长度5),其中包含杂志[14,14]的2d数组。 这样我就可以走了(即,1d数组中的每个元素都引用一个具有14x14(=196个弹匣)的2d数组):


以这种方式初始化和分配元素的正确语法是什么?

我相信这会起作用

myMags[0] = new Magazine[14,14];
myMags[1] = new Magazine[14,14];
myMags[2] = new Magazine[14,14];
myMags[3] = new Magazine[14,14];
myMags[4] = new Magazine[14,14];

参考

这不编译,但是
杂志[][,]myVarName=new[]{new杂志[14,14],…}doesRight,你有一个2d数组,我举了一个3d数组的例子。Hogan,问题是如果你想把一个2d数组传递给一个函数,你不能快速提取它。例如,我假设@toop想要打电话
SomeFunction(库[,]数组)
passing
array=myVarName[0]
。通常称为锯齿数组。只要大小保持不变,就应该能够将14×14数组作为参数传递。(您可能需要进行复制而不是赋值。锯齿状数组允许每个元素具有不同的大小--标准数组映射到单个内存区域。为什么您需要或想要一个2D数组的1D数组,而不是真正的3D数组?这是正确的。括号的顺序在C#中有些混乱。请注意,在CLR中,顺序不同,而且更复杂。)逻辑的。例如,使用上面的
myMag
myMags.GetType()。Name
将返回
“杂志[,][]”
,而不是
“杂志[,]”
。因此
typeof(杂志[,]])。Name==“杂志[,]”
myMags[0] = new Magazine[14,14];
myMags[1] = new Magazine[14,14];
myMags[2] = new Magazine[14,14];
myMags[3] = new Magazine[14,14];
myMags[4] = new Magazine[14,14];
   private Magazine[,,] myVarName = new Magazine[4,14,14];
    Magazine[][,] myMags = new Magazine[5][,];
    myMags[0] = new Magazine[14, 14];
    myMags[1] = new Magazine[14, 14];
    myMags[2] = new Magazine[14, 14];
    myMags[3] = new Magazine[14, 14];
    myMags[4] = new Magazine[14, 14];