C#-多维整数数组
如何在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} 我如何正确地迭代它。。如何检查数组是否为数组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
谢谢 我相信你要找的术语是 可以这样做:
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,这样他可以更好地理解数组的锯齿特性。。