Heim  >  Artikel  >  Backend-Entwicklung  >  Definition und Initialisierung verschiedener C#-Arrays

Definition und Initialisierung verschiedener C#-Arrays

高洛峰
高洛峰Original
2016-12-16 14:36:431372Durchsuche

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. Es gibt einige wichtige Unterschiede in der Art und Weise, wie Sie C#-Arrays in C# im Vergleich zu Java deklarieren und verwenden.

Eindimensionales Array

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

Nach der Deklaration eines Arrays können Sie es festlegen Verwenden des neuen Schlüsselworts Size, das mit Java identisch ist. Der folgende Code deklariert eine Array-Referenz:

int[] arr;   
arr = new int[5]; // create a 5 element integer array

Auf die Elemente in einem eindimensionalen Array kann dann mit derselben Syntax wie in Java zugegriffen werden. Die C#-Array-Indizierung ist ebenfalls nullbasiert. Der folgende Code greift auf das letzte Element im Array oben zu:

System.Console.WriteLine(arr[4]); // access the 5th element

Initialisierung

C#-Array-Elemente können zum Zeitpunkt der Erstellung mit derselben Syntax wie in Java initialisiert werden:

int[] arr2Lines;   
arr2Lines = new int[5] {1, 2, 3, 4, 5}; Syue.com

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 mit einer Größe, die 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;   
}

Jagged Array

Sowohl C# als auch Java unterstützen die Erstellung eines gezackten (nicht rechteckigen) Arrays, d. h. jede Zeile enthält Spalten zählen verschiedene Arrays. Im folgenden gezackten Array enthält die erste Zeile beispielsweise vier Elemente, während die zweite Zeile drei Elemente enthält:

nt[][] jaggedArray = new int[2][];   
jaggedArray[0] = new int[4];   
jaggedArray[1] = new int[3];

Mehrdimensionales Array

Sie können C# verwenden, um regelmäßige mehrdimensionale Arrays zu erstellen , Mehrdimensionale Arrays ähneln Matrizen von Werten desselben Typs. Während sowohl Java als auch C# gezackte Arrays unterstützen, unterstützt C# auch mehrdimensionale Arrays (Arrays von Arrays).

Ein mehrdimensionales rechteckiges Array wird mit der folgenden Syntax deklariert:

int[,] arr2D; // declare the array reference   
float[,,,] arr4D; // declare the array reference

Nach der Deklaration kann Speicher für das Array wie folgt zugewiesen werden:

arr2D = new int[5,4]; // allocate space for 5 x 4 integers

Dann gilt: Die folgende Syntax kann verwendet werden, um auf die Elemente des Arrays zuzugreifen:

arr2D[4,3] = 906;

Da C#-Arrays nullbasiert sind, setzt diese Zeile das Element in der vierten Zeile und fünften Spalte auf 906.

Initialisierung

Sie können ein mehrdimensionales Array in derselben Anweisung mit einer der folgenden Methoden erstellen, festlegen und 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 Artikel zur Definition und Initialisierung verschiedener C#-Arrays finden Sie auf der chinesischen PHP-Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn