Ein Array ist eine geordnete Sammlung von Elementen desselben Datentyps. Um auf ein Element in einem Array zuzugreifen, verwenden Sie sowohl den Array-Namen als auch den Offset zwischen dem Element und dem Anfang des Arrays. Die Art und Weise, wie Sie Arrays in C# deklarieren und verwenden, weist einige wichtige Unterschiede zu Java auf.
Eindimensionales Array
Ein eindimensionales Array speichert eine feste Anzahl von Elementen linear und es ist nur ein Indexwert erforderlich, um jedes Element zu identifizieren. In C# müssen eckige Klammern in einer Array-Deklaration dem Datentyp folgen und können nicht nach dem Variablennamen platziert werden, was in Java zulässig ist. Daher sollten Arrays vom Typ Ganzzahlen mit der folgenden Syntax deklariert werden:
int[] arr1;
Die folgende Deklaration ist in C# nicht gültig:
//int arr2[]; //compile error
Nachdem Sie ein Array deklariert haben, können Sie dessen Größe mit dem neuen Schlüsselwort festlegen das Gleiche wie Java. Der folgende Code deklariert eine Array-Referenz:
int[] arr;
arr = new int[5]; // ein 5-Elemente-Integer-Array erstellen
Auf die Elemente im eindimensionalen Array kann dann mit der gleichen Syntax wie in Java zugegriffen werden. Die C#-Array-Indizierung ist ebenfalls nullbasiert. Der folgende Code greift auf das letzte Element im obigen Array zu:
System.Console.WriteLine(arr[4]); // Zugriff auf das 5. Element
Initialisierung
C#-Array-Elemente können zum Zeitpunkt der Erstellung mit derselben Syntax wie Java initialisiert werden:
int[] arr2Lines;
arr2Lines = new int[5 ] {1, 2, 3, 4, 5};
Aber in C# muss die Anzahl der Initialisierer im Gegensatz zu Java genau mit der Array-Größe übereinstimmen. Mit dieser Funktion können Sie ein C#-Array in derselben Zeile deklarieren und initialisieren:
int[] arr1Line = {1, 2, 3, 4, 5};
Diese Syntax erstellt ein Array, dessen Größe der Anzahl der Initialisierer entspricht.
Initialisierung in einer Programmschleife
Eine andere Möglichkeit, ein Array in C# zu initialisieren, ist die Verwendung einer for-Schleife. Die folgende Schleife setzt jedes Element des Arrays auf Null:
int[] TaxRates = new int[5];
for (int i=0; i< TaxRates.Length; i++)
{
TaxRates[i] = 0;
}
Staggered Array
Sowohl C# als auch Java unterstützen das Erstellen von gestaffelten (nicht rechteckigen) Array, also ein Array mit einer unterschiedlichen Anzahl von Spalten in jeder Zeile. Im folgenden gezackten Array enthält die erste Zeile beispielsweise vier Elemente und die zweite Zeile drei Elemente:
int[][] jaggedArray = new int[2][];
jaggedArray[0] = new int[4];
jaggedArray[1] = new int[3];
Mehrdimensionales Array
Sie können C# verwenden, um ein reguläres Array zu erstellen Mehrdimensionales Array: Ein mehrdimensionales Array ähnelt einer Wertematrix desselben Typs. Während sowohl Java als auch C# gezackte Arrays unterstützen, unterstützt C# auch mehrdimensionale Arrays (Arrays von Arrays).
Deklarieren Sie ein mehrdimensionales rechteckiges Array mit der folgenden Syntax:
int[,] arr2D; // deklarieren Sie die Array-Referenz
float[,,,] arr4D ; / / deklariere die Array-Referenz
Nach der Deklaration kannst du Speicher für das Array wie folgt zuweisen:
arr2D = new int[5,4] ; // Platz für 5 x 4 ganze Zahlen reservieren
Auf die Elemente des Arrays kann dann mit der folgenden Syntax zugegriffen werden:
arr2D[4,3 ] = 906;
Da das Array nullbasiert ist, setzt diese Zeile das Element in der vierten Zeile und fünften Spalte auf 906.
Initialisierung
Sie können eine der folgenden Methoden verwenden, um ein mehrdimensionales Array in derselben Anweisung zu erstellen, festzulegen und zu initialisieren:
int[,] arr4 = new int [2,3] { {1,2,3}, {4,5,6} };
int[,] arr5 = new int [,] { {1,2,3}, { 4,5 ,6} };
int[,] arr6 = { {1,2,3}, {4,5,6} };
Weitere C#-Artikel zur Array-Definition und -Initialisierung finden Sie auf der chinesischen PHP-Website!