English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C# mehrdimensionale Arrays

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.

Deklaration mehrdimensionaler Arrays

int[,  , ] arr2d; // zwei dimensionales Array
int[,  , ] arr3d; // dreidimensionales Array
int[,  ,  ,] arr4d; // vierdimensionales Array
int[,  ,  ,  ,] arr5d; // fünfdimensionales Array

zwei dimensionales 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.

zwei dimensionales Array

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.

dreidimensionales Array

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.

vierdimensionales Array

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维数组。