我正在尝试构建一个存储整数数组的多维数组。
Array[] TestArray = new Array[2];
for(int i = 0; i < TestArray.Length; i++)
{
TestArray[i] = new int[5];
}
如何访问新创建的Array成员?我不知道如何访问数组中新创建的数组,虽然我可以看到它们在Visual Studio中调试时已正确创建和存储。
答案 0 :(得分:12)
如果你想要一个整数数组数组,那么你应该这样声明:
int[][] testArray = new int[2][];
for(int i = 0; i < testArray.Length; i++)
{
testArray[i] = new int[5];
}
数组数组称为Jagged Arrays(与Multidimensional Arrays相反)。
答案 1 :(得分:2)
以下是如何访问第二个数组中的第四个项目:
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];
答案 2 :(得分:1)
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
答案 3 :(得分:1)
将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];
答案 4 :(得分:0)
如果要查找整数数组,请尝试
int[][] testArray