我們可以用這種方式在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