C#多维数组

本文关键字:数组 | 更新日期: 2023-09-27 18:21:45

我正在尝试构建一个多维数组来存储整数数组。

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

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

C#多维数组

如果你想要一个整数数组的数组,那么你应该这样声明它:

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];
}

或多维数组:

int[,] TestArray = new int[2,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];

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();

有关更多信息:http://msdn.microsoft.com/en-us/library/2s05feca.aspx

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

int[][] testArray