Heim > Artikel > Backend-Entwicklung > C#-Array-Lernen
Array-Übersicht
C#-Arrays werden bei Null indiziert, d. h. der Array-Index beginnt bei Null. Arrays funktionieren in C# ähnlich wie in den meisten anderen gängigen Sprachen. Es gibt jedoch einige Unterschiede, die beachtet werden sollten.
Bei der Deklaration eines Arrays müssen eckige Klammern ([]) auf den Typ und nicht auf den Bezeichner folgen. In C# ist es eine illegale Syntax, eckige Klammern nach einem Bezeichner zu setzen.
int[] table; // not int table[]; Ein weiteres Detail ist, dass die Größe des Arrays nicht Teil seines Typs ist, sondern in der C-Sprache vom Array-Typ Teil. Auf diese Weise können Sie ein Array deklarieren und ihm unabhängig von der Array-Länge ein beliebiges Array von int-Objekten zuweisen.
int[] zahlen; // zahlen als int-Array beliebiger Größe deklarieren
numbers = new int[10] // zahlen sind ein 10-Elemente-Array
numbers = new int[20]; // jetzt ist es ein Array mit 20 Elementen
Deklarationsarray
C# unterstützt eindimensionale Arrays, mehrdimensionale Arrays (rechteckige Arrays) und Arrays von Arrays (verschachteltes Array). Das folgende Beispiel zeigt, wie verschiedene Arten von Arrays deklariert werden:
Eindimensionales Array:
int[] zahlen;
Mehrdimensionales Array:
string[,]-Namen;
Array von Arrays (interleaved):
byte[][]-Scores;
Deklarieren Sie die Array (wie oben gezeigt), ohne sie tatsächlich zu erstellen. In C# sind Arrays Objekte (wird später in diesem Tutorial besprochen) und müssen instanziiert werden. Das folgende Beispiel zeigt, wie ein Array erstellt wird:
Eindimensionales Array:
int[] zahlen = new int[5];
Mehrdimensional Array:
string[,] Namen = neue Zeichenfolge[5,4];
Array von Arrays (interleaved):
byte[][] Punkte = neues Byte[ 5][];
for (int x = 0; xint[,,] Buttons = new int[4,5,3];
Sie können sogar rechteckige Arrays mischen Arrays und gezackte Arrays verwenden. Der folgende Code deklariert beispielsweise ein eindimensionales Array aus einem zweidimensionalen Array vom Typ int und einem dreidimensionalen Array vom Typ.
int[][,,][,] zahlen;
Initialisieren Sie das Array
C#, indem Sie den Anfangswert zum Zeitpunkt der Deklaration in geschweifte Klammern ({}) einschließen Das Initialisieren eines Arrays bietet eine einfache und unkomplizierte Methode. Die folgenden Beispiele zeigen verschiedene Möglichkeiten, Arrays unterschiedlicher Typen zu initialisieren.
Hinweis: Wenn das Array bei der Deklaration nicht initialisiert wird, werden die Array-Mitglieder automatisch auf den Standardanfangswert des Array-Typs initialisiert. Wenn ein Array außerdem als Feld eines Typs deklariert ist, wird es bei der Instanziierung des Typs auf den Standardwert Null gesetzt.
Eindimensionales Array
int[] Zahlen = neue int[5] {1, 2, 3, 4, 5};
string[] Namen = neue Zeichenfolge[3 ] {"Matt", "Joanne", "Robert"};
Die Größe des Arrays kann wie folgt weggelassen werden:
int[] zahlen = new int[ ] {1 , 2, 3, 4, 5};
string[] Namen = neue Zeichenfolge[] {"Matt", "Joanne", "Robert"};
Wenn ein Der Anfangswert wird bereitgestellt. Einstellungselemente. Sie können den neuen Operator auch weglassen, wie unten gezeigt:
int[] Zahlen = {1, 2, 3, 4, 5};
string[] Namen = {"Matt ", "Joanne", "Robert"};
Mehrdimensionales Array
int[,] Zahlen = new int[3, 2] { {1, 2} , {3 , 4}, {5, 6} };
string[,] Geschwister = neuer String[2, 2] { {"Mike","Amy"}, {"Mary","Albert"} };
Die Größe des Arrays kann wie folgt weggelassen werden:
int[,] zahlen = new int[,] { {1, 2}, {3, 4}, {5 , 6} };
string[,] Geschwister = neue Zeichenfolge[,] { {"Mike","Amy"}, {"Mary","Albert"} };
Wenn ein Initialisierer bereitgestellt wird, kann der neue Operator wie folgt auch weggelassen werden:
int[,] zahlen = { {1, 2}, {3, 4}, {5, 6 } };
string[,] siblings = { {"Mike", "Amy"}, {"Mary", "Albert"} };
interleaved array (Array von Arrays )
kann ein gezacktes Array initialisieren, wie im folgenden Beispiel gezeigt:
int[][] zahlen = new int[2][] { new int[] {2,3,4 }, new int[] {5,6,7,8,9} };
Die Größe des ersten Arrays kann wie folgt weggelassen werden:
int[] [] zahlen = new int[][] { new int[] {2,3,4}, new int[] {5,6,7,8,9} };
- oder -
int[][] zahlen = { new int[] {2,3,4}, new int[] {5,6,7,8,9} };
Bitte beachten Sie, dass es keine Initialisierungssyntax für die Elemente eines Jagged-Arrays gibt.
Zugriff auf Array-Mitglieder
Der Zugriff auf Array-Mitglieder kann direkt erfolgen, ähnlich wie der Zugriff auf Array-Mitglieder in C/C++. Der folgende Code erstellt beispielsweise ein Array mit dem Namen „Zahlen“ und weist dann dem fünften Element des Arrays 5 zu:
int[] Zahlen = {10, 9, 8, 7, 6, 5, 4, 3 , 2, 1, 0};
Zahlen[4] = 5;
Der folgende Code deklariert ein mehrdimensionales Array und weist es dem Mitglied unter [1, 1] 5 zu :
int[,] Zahlen = { {1, 2}, {3, 4}, {5, 6}, {7, 8}, {9, 10} };
Zahlen [ 1, 1] = 5;Im Folgenden wird ein eindimensionales gezacktes Array deklariert, das zwei Elemente enthält. Das erste Element ist ein Array aus zwei Ganzzahlen und das zweite Element ist ein Array aus drei Ganzzahlen:
int[][] zahlen = new int[][] { new int[] {1, 2 } , new int[] {3, 4, 5}
};
Die folgende Anweisung weist dem ersten Element des ersten Arrays 58 und dem zweiten Element des zweiten Arrays 58 zu . Dem zweiten Element wird 667 zugewiesen:
Zahlen[0][0] = 58;
Zahlen[1][1] = 667;
Array ist ein Objekt
In C# sind Arrays eigentlich Objekte. System.Array ist der abstrakte Basistyp für alle Array-Typen. Sie können die Eigenschaften von System.Array sowie andere Klassenmitglieder verwenden. Ein Beispiel für diese Verwendung ist die Verwendung der Eigenschaft „Length“, um die Länge eines Arrays abzurufen. Der folgende Code weist die Länge des Zahlenarrays (5) einer Variablen namens „LengthOfNumbers“ zu:
int[] zahlen = {1, 2, 3, 4, 5};
int LängeOfNumbers = zahlen .Length;
Die System.Array-Klasse bietet viele nützliche andere Methoden/Eigenschaften wie Methoden zum Sortieren, Suchen und Kopieren von Arrays.
Verwenden Sie foreach für Arrays
C# stellt auch die foreach-Anweisung bereit. Diese Anweisung bietet eine einfache und klare Möglichkeit, die Elemente eines Arrays zu durchlaufen. Der folgende Code erstellt beispielsweise ein Array mit dem Namen „Zahlen“ und durchläuft das Array mithilfe einer foreach-Anweisung:
int[] Zahlen = {4, 5, 6, 1, 2, 3, -2, -1 , 0};
foreach (int i in zahlen)
{
System.Console.WriteLine(i);
}
Aufgrund des mehrdimensionalen Arrays , können Sie die gleiche Methode verwenden, um die Elemente zu durchlaufen, zum Beispiel:
int[,] zahlen = new int[3, 2] {{9, 99}, {3, 33}, {5 , 55}};
foreach(int i in zahlen)
{
Console.Write("{0} ", i);
}
Die Ausgabe Dieses Beispiel lautet:
9 99 3 33 5 55
Dank mehrdimensionaler Arrays erhalten Sie jedoch durch die Verwendung verschachtelter for-Schleifen eine bessere Kontrolle über die Array-Elemente.
Weitere Artikel zum Thema C#-Array-Lernen finden Sie auf der chinesischen PHP-Website!