我们可以用这种方式在C#中定义一个二维数组的数组吗? 或获取类似数据集的其他方法?二维数组C#的数组?
double[][,] testArray = new double[a][b,c];
注意:所有三个指数 - A,B和C都在运行时获得的。
感谢
我们可以用这种方式在C#中定义一个二维数组的数组吗? 或获取类似数据集的其他方法?二维数组C#的数组?
double[][,] testArray = new double[a][b,c];
注意:所有三个指数 - A,B和C都在运行时获得的。
感谢
你可以做到这一点,但你必须初始化单独每个二维数组:
double[][,] testArray = new double[a][,];
for(int i = 0; i < a; i++)
{
testArray[i] = new double[b, c];
}
另一种方式是只需要声明一个三维数组:
double[,,] testArray3D = new double[a, b, c];
也就是说,如果您在开始时想要的每个2D阵列都具有相同的尺寸,则可以进行该更改
当然。
int[][,] arrayOf2DArrays =
{
new int[,] {{1, 2, 3}, {4, 5, 6}},
new int[,] {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}, {10, 11, 12}},
new int[,] {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}, {10, 11, 12}, {13, 14, 15}}
};
这本质上是包含三个二维阵列,每个不同尺寸的一维锯齿形阵列。
的元素可以以下面的方式来访问:
var element = arrayOf2DArrays[0][0, 0]; // etc
Console.WriteLine(element);
..和arrayOf2DArrays.Length
将,在上面的例子中,返回3
,如arrayOf2DArrays
包含三个二维阵列。
您可以一次只声明一个数组维度。 'new double [a] [,]'是有效的,而你的声明不是。然后,您可以遍历外部维度来填充内部数组。 – Amy