C# Arrays: Deklaration, Initialisierung, Zugriff & foreach
Was ist ein Array?
Ein Array speichert eine fixe Anzahl von Elementen desselben Typs in kontiguierlichem Speicher. Zugriff erfolgt über nullbasierten Index.
Deklaration & Erstellung
datatype[] arrayName; // Deklaration (Referenz, noch null)
arrayName = new datatype[size]; // Instanzierung
// oder kombiniert:
int[] numbers = new int[10];
Initialisierung
// Mit Werten bei Erstellung
double[] balance = { 2340.0, 4523.69, 3421.0 };
// Explizite Größe + Werte
int[] marks = new int[5] { 99, 98, 92, 97, 95 };
// Größe weglassen (Compiler zählt)
int[] marks2 = new int[] { 99, 98, 92, 97, 95 };
Standardwerte
Bei Erstellung mit new werden Elemente mit Standardwerten initialisiert:
- Zahltypen →
0 bool→false- Referenztypen →
null
Elementzugriff
double salary = balance[9]; // 10. Element (Index 9)
balance[0] = 4500.0; // Zuweisung
Beispiel: Array durchlaufen
int[] n = new int[10];
for (int i = 0; i < 10; i++) n[i] = i + 100;
// Klassische for-Schleife
for (int j = 0; j < 10; j++)
Console.WriteLine($"Element[{j}] = {n[j]}");
foreach-Schleife (nur Lesen)
foreach (int val in n)
{
Console.WriteLine($"Value: {val}");
}
Hinweis: foreach liefert eine Kopie des Elements (bei Werttypen) – Zuweisung an Schleifenvariable ändert nicht das Array.
Wichtige Array-Konzepte
| Konzept | Beschreibung |
|---|---|
| Mehrdimensionale Arrays | z. B. int[,] matrix = new int[3,4]; (rechteckig) |
| Verzweigte Arrays (Jagged Arrays) | Arrays von Arrays: int[][] jagged = new int[3][]; – jede Zeile kann unterschiedliche Länge haben |
| Arrays an Methoden übergeben | Referenz wird übergeben; Änderungen im Array sind sichtbar |
Parameter-Arrays (params) | Variable Anzahl Argumente: void Sum(params int[] nums) |
Array-Klasse (System.Array) | Basisklasse aller Arrays; bietet Sort, Reverse, IndexOf, Length, Rank, … |
C Sprache
- C# Arrays meistern: Deklaration, Initialisierung und Operationen
- C# Jagged Arrays meistern: Deklaration, Initialisierung und Zugriff
- Arrays an Funktionen in C++ übergeben: Ein praktischer Leitfaden
- Arrays an Funktionen in C übergeben: 1D & 2D – Praxisleitfaden
- Beziehung zwischen Arrays und Zeigern in C verstehen
- Java Array-Kopiertechniken: Umfassender Leitfaden
- C++ Arrays verstehen: Deklaration, Initialisierung und Pointer‑Techniken
- C++ Dynamische Array‑Allokation: Praktischer Leitfaden mit Code‑Beispielen
- Java Arrays Tutorial: Deklaration, Erstellung und Initialisierung – Beispielcode
- MATLAB: Mehrdimensionale und spezielle Arrays meistern