Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.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#_Multidimensional Array - Fatal编程技术网

C#-多维整数数组

C#-多维整数数组,c#,multidimensional-array,C#,Multidimensional Array,如何在C#中声明“deep”数组 我想要一个int数组,如: [ 1, 4, 5, 6, [3, 5, 6, 7, 9], 1, 4, 234, 2, 1,2,4,6,67, [1,2,4,44,56,7] ] 我以前做过,但记不起正确的语法。但它有点像下面写的: Int32[]MyDeepArray=newint32[]={3,2,1,5,{1,3,4,5},1,4,5} 我如何正确地迭代它。。如何检查数组是否为数组 谢谢 我相信你要找的术语是 可以这样做: int[][] jaggedArr

如何在C#中声明“deep”数组

我想要一个int数组,如: [ 1, 4, 5, 6, [3, 5, 6, 7, 9], 1, 4, 234, 2, 1,2,4,6,67, [1,2,4,44,56,7] ]

我以前做过,但记不起正确的语法。但它有点像下面写的: Int32[]MyDeepArray=newint32[]={3,2,1,5,{1,3,4,5},1,4,5}

我如何正确地迭代它。。如何检查数组是否为数组


谢谢

我相信你要找的术语是

可以这样做:

int[][] jaggedArray2 = new int[][] 
{
    new int[] {1,3,5,7,9},
    new int[] {0,2,4,6},
    new int[] {11,22}
};
for(int i = 0; i < jaggedArray2.Length; i++)
    for(int j = 0; j < jaggedArray2[i].Length; j++)
    {
        //do something here.
    }
您可以像这样迭代它们:

int[][] jaggedArray2 = new int[][] 
{
    new int[] {1,3,5,7,9},
    new int[] {0,2,4,6},
    new int[] {11,22}
};
for(int i = 0; i < jaggedArray2.Length; i++)
    for(int j = 0; j < jaggedArray2[i].Length; j++)
    {
        //do something here.
    }
for(int i=0;i
Int32[]]将允许您声明一个二维数组,其中维度不一定都相同。例如,您可以有以下内容:

[
[2,3,4,5]
[5]
[1,2,3,4,5,6,7,8]
[3,5]
[4]
]
另一种选择是Int32[,],其中尺寸必须始终相同


我不知道你所说的“如何检查数组是否为数组”是什么意思。

这里有一些关于使用C#数组的好文档。还有一些关于使用foreach和其他方法进行迭代的信息

至于“如何检查数组是否为数组”:C是强类型的。声明为数组的任何内容都必须是数组。你要找的是一个数组,不是整数数组,而是整数数组。因此,外部数组中的每个项都是一个强类型整数数组。不是整数和整数数组都混在一起。最接近的是int数组和只包含一个int的int数组,它们都混在一起了。考虑到这一点,不管怎样,您都可以对它们进行迭代,因为它们都是数组,所以您可以像对待数组一样对待它们,而那些只包含一个项目的项目只会进入迭代一次


如果您想显式检查,因为您只使用一个int来处理int数组,那么您可以检查它们的.Length值。

@Steven是的,我使用的是传统的for,这样他可以更好地理解数组的锯齿特性。。