English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
C# unterstützt bis zu32dimensionen umfassende Arrays. Mehrdimensionale Arrays können durch das Hinzufügen von Kommas in eckige Klammern deklariert werden. Zum Beispiel [ , ] deklariert ein zwei dimensionales Array, [ , , ] ein dreidimensionales Array, [ , , ,] ein vierdimensionales Array, etc. Daher ist die Anzahl der Kommas = die Anzahl der Dimensionen-1.
int[, , ] arr2d; // zwei dimensionales Array int[, , ] arr3d; // dreidimensionales Array int[, , ,] arr4d; // vierdimensionales Array int[, , , ,] arr5d; // fünfdimensionales Array
Lassen Sie uns zwei dimensionale Arrays verstehen. Hier wird ein zwei dimensionales Array initialisiert.
int[, , ] arr2d = new int[3,2]{ {1, 2}, {3, 4}, {5, 6} }; //oder int[, , ] arr2d = { {1, 2}, {3, 4}, {5, 6} };
Im obigen Beispiel des zwei dimensionalen Arrays, [3,2] definiert die Anzahl der Zeilen und Spalten. Die erste Spalte stellt die Anzahl der Zeilen dar, die zweite Spalte definiert die Anzahl der Spalten. Das Diagramm zeigt die zweidimensionale Array, die in Zeilen und Spalten unterteilt ist.
folgende Zugriffswerte des zwei dimensionalen Arrays.
int[, , ] arr2d = new int[3,2]{ {1, 2}, {3, 4}, {5, 6} }; arr2d[0, 0]; //zurück1 arr2d[0, 1]; //zurück2 arr2d[1, 0]; //zurück3 arr2d[1, 1]; //zurück4 arr2d[2, 0]; //zurück5 arr2d[2, 1]; //zurück6 //arr2d[3, 0]; //würde eine Laufzeitfehler auslösen, da es keine vierte Zeile gibt
Im obigen Beispiel kann der Wert des zwei dimensionalen Arrays über die Indizes der Zeile und der Spalte [Zeilenindex, Spaltenindex] erreicht werden. Daher gibt [0, 0] die erste Zeile und die erste Spalte zurück[1, 1] den Wert und gibt den Wert der zweiten Zeile und der zweiten Spalte zurück.
Lassen Sie uns dreidimensionale Arrays verstehen. Hier wird ein dreidimensionales Array deklariert und initialisiert.
int[, , ] arr3d1 = new int[1, 2, 2]{ { { 1, 2}, { 3, 4} } }; int[, , ] arr3d2 = new int[2, 2, 2]{ { {1, 2}, {3, 4} }, { {5, 6}, {7, 8} } }; int[, , ] arr3d3 = new int[2, 2, 3]{ { { 1, 2, 3}, {4, 5, 6} }, { { 7, 8, 9}, {10, 11, 12} } }; arr3d2[0, 0, 0]; // zurück1 arr3d2[0, 0, 1]; // zurück2 arr3d2[0, 1, 0]; // zurück3 arr3d2[0, 1, 1]; // zurück4 arr3d2[1, 0, 0]; // zurück5 arr3d2[1, 0, 1]; // zurück6 arr3d2[1, 1, 0]; // zurück7 arr3d2[1, 1, 1]; // zurück8
wie du im obigen Beispiel siehst, arr3d1[1,2,2] enthält ein zwei dimensionales Array[2,2] eine Zeile im Array arr bestimmen.3d2bestimmte Dimension[2,2,2zwei dimensionale Array[2,2zwei Zeilen. Daher stellt die erste Spalte die Anzahl der Zeilen der inneren zweidimensionalen Arrays dar.
Nun schauen wir uns das vierdimensionale Array unten an.
int[,,,] arr4d1 = new int[1, 1, 2, 2]{ { { { 1, 2}, { 3, 4} } } }; arr4d1[0, 0, 0, 0]; // zurück1 arr4d1[0, 0, 0, 1]; // zurück2 arr4d1[0, 0, 1, 0]; // zurück3 arr4d1[0, 0, 1, 1]; // zurück4 int[,,,] arr4d2 = new int[1, 2, 2, 2]{ { { {1, 2}, {3, 4} }, { {5, 6}, {7, 8} } } }; arr4d2[0, 0, 0, 0]; // zurück1 arr4d2[0, 0, 0, 1]; // zurück2 arr4d2[0, 0, 1, 0]; // zurück3 arr4d2[0, 0, 1, 1]; // zurück4 arr4d2[0, 1, 0, 0]; // zurück5 arr4d2[0, 1, 0, 1]; // zurück6 arr4d2[0, 1, 1, 0]; // zurück7 arr4d2[0, 1, 1, 1]; // zurück8
Im obigen Beispiel das vierdimensionale Array arr4d1Bestimmen Sie [1、1、2、2],was bedeutet, dass es eine Zeile eines dreidimensionalen Arrays enthält.
Auf dieselbe Weise können Sie in C# Variablen deklarieren und initialisieren5维,6维数组以及最多32维数组。