C#多维数组

C#多维数组,c#,arrays,jagged-arrays,C#,Arrays,Jagged Arrays,我试图构建一个多维数组来存储整数数组 Array[] TestArray = new Array[2]; for(int i = 0; i < TestArray.Length; i++) { TestArray[i] = new int[5]; } Array[]TestArray=新数组[2]; 对于(int i=0;i

我试图构建一个多维数组来存储整数数组

Array[] TestArray = new Array[2];

for(int i = 0; i < TestArray.Length; i++)
{
   TestArray[i] = new int[5];
}
Array[]TestArray=新数组[2];
对于(int i=0;i

如何访问新创建的数组成员?我不知道如何访问数组中新创建的数组,尽管我可以看到它们在Visual Studio中调试时已正确创建和存储。

如果需要整数数组数组,则应将其声明为:

int[][] testArray = new int[2][];

for(int i = 0; i < testArray.Length; i++)
{
   testArray[i] = new int[5];
}
int[]testArray=newint[2][];
对于(int i=0;i

数组的数组被调用(与之相反)。

如果需要整数数组的数组,则应声明为:

int[][] testArray = new int[2][];

for(int i = 0; i < testArray.Length; i++)
{
   testArray[i] = new int[5];
}
int[]testArray=newint[2][];
对于(int i=0;i

数组的数组被调用(与之相反)。

T[][]
是您要查找的语法

int[][] test = new int[2][];  //Declaring the array of arrays.

for (int i = 0; i < test.Length; i++)
{
    test[i] = new int[5];  //Instantiating a sub-arrays.
    for (int x = 0; x < test[i].Length; x++)
        test[i][x] = x + i;  //Filling a sub-arrays.
}

foreach (var array in test)  //iterating over the array of arrays.
    Console.WriteLine("Array: " + string.Join(", ", array));  //using a sub-array
Console.ReadLine();
int[]test=newint[2][]//声明数组的数组。
for(int i=0;i

有关详细信息:

T[][]
是您要查找的语法

int[][] test = new int[2][];  //Declaring the array of arrays.

for (int i = 0; i < test.Length; i++)
{
    test[i] = new int[5];  //Instantiating a sub-arrays.
    for (int x = 0; x < test[i].Length; x++)
        test[i][x] = x + i;  //Filling a sub-arrays.
}

foreach (var array in test)  //iterating over the array of arrays.
    Console.WriteLine("Array: " + string.Join(", ", array));  //using a sub-array
Console.ReadLine();
int[]test=newint[2][]//声明数组的数组。
for(int i=0;i

有关详细信息:

如果要查找整数数组,请尝试

int[][] testArray

如果要查找整数数组,请重试

int[][] testArray

下面是如何访问第二个数组中的第四项:

int value = ((int[]) TestArray.GetValue(1))[3];
尽管使用锯齿状阵列的困难要小得多:

int[][] TestArray = new int[2][];
for (int i = 0; i < TestArray.Length; i++)
{
    TestArray[i] = new int[5];
}

下面是如何访问第二个数组中的第四项:

int value = ((int[]) TestArray.GetValue(1))[3];
尽管使用锯齿状阵列的困难要小得多:

int[][] TestArray = new int[2][];
for (int i = 0; i < TestArray.Length; i++)
{
    TestArray[i] = new int[5];
}

将TestArray元素强制转换为
int[]

Array[] TestArray = new Array[2];

for(int i = 0; i < TestArray.Length; i++)
{
   TestArray[i] = new [] { 2,3 };
}

var firstIndexOfFirstArray = ((int[])TestArray[0])[0];
Array[]TestArray=新数组[2];
对于(int i=0;i
将TestArray元素强制转换为
int[]

Array[] TestArray = new Array[2];

for(int i = 0; i < TestArray.Length; i++)
{
   TestArray[i] = new [] { 2,3 };
}

var firstIndexOfFirstArray = ((int[])TestArray[0])[0];
Array[]TestArray=新数组[2];
对于(int i=0;i
为什么不使用
列表
?为什么不在TestArray中使用强类型数组?您查看了吗?稍后我将查找多维数组和锯齿数组之间的差异,但是否存在不采用我的初始方法的行业惯例?就内存管理和操作而言,这似乎是一种有效的方法。为什么不使用
列表
?为什么不在TestArray中使用强类型数组?您查看了吗?我将在稍后查找多维数组和锯齿数组之间的差异,但是否存在不采用我的初始方法的行业惯例?就内存管理和操作而言,这似乎是一种有效的方法