Arrays sind eine Art von Tabellen, die man in C# nutzen kann, um zum Beispiel Werte zwischenzuspeichern. Diese Tabellen können einfache Listen, eine zweidimensionale Tabelle mit mehreren Spalten oder sogar mehrdimensionale Tabellen sein (ein Beispiel wäre die Zuordnung einer Höhe eines Geländes zu der x- und y-Koordinate des Geländes).

Eindimensionale Arrays

Ein eindimensionales Array, also eine einfache Liste, könnte zum Beispiel die Auflistung der Wochentage sein:

string[] wochenTage = { "Mo", "Die", "Mi", "Do", "Fr", "Sa", "So" };

Arrays werden in C# immer duch eckige Klammern hinter der Deklaration kenntlich gemacht. Der Typ, den wir in eine Liste packen wollen, steht uns dabei komplett frei.

Auf einzelne Element kann zugegriffen werden, indem man den Variablennamen der Liste angibt und in eckigen Klammern dahinter die Stelle in der Liste angibt, die man adressieren möchte. Um zum Beispiel das 1. und das 6. Element auszugeben können wir folgenden Code nutzen:

1
2
3
4
5
6
string[] wochenTage = { "Mo", "Die", "Mi", "Do", "Fr", "Sa", "So" };

Console.WriteLine(wochenTage[0]);
Console.WriteLine(wochenTage[5]);

Console.ReadLine();

array_1d

Bei der Adressierung der Elemente ist darauf zu achten, dass Arrays in C# beim Index 0 anfangen. Unser Wochentag Montag als erstes Elemten entspricht also der Position 0 in der Liste. Wenn wir also eine Liste mit 7 Elementen haben, dann ist das letzte Element an der Position 6.

array_1d_vis

Wollen wir die Werte von Elementen ändern, funktioniert das analog zum Umgang mit Variablen, nur dass wir die Position mit angeben müssen. Wollen wir also aus dem "Die" in der Liste ein "Di" machen, dann müssen wir als zweites Element den Index 1 adressieren:

wochenTage[1] = "Di";

Zweidimensionale Arrays

Zweidimensionale Arrays können Tabellen sein, zum Beispiel eine Zuordnung von Temperatur und Luftdruck zu einer bestimmten Uhrzeit. Wird hätten also in diesem Beispiel 3 Spalten: Uhrzeit, Temperatur, Luftdruck; und je nach dem für wieviele Uhrzeiten wir Daten aufgenommen haben entsprechend viele Zeilen:

array_2d

Diese Tabelle können wir ganz ähnlich wie oben erzeugen, wir müssen jetzt nur einen Zahlentyp nutzen, der Gleitkommazahlen unterstützt. Zudem müssen wir in der Deklaration kenntlich machen, dass wir nun zwei Dimensionen haben, das geht wie folgt: double [,] wetterDaten = ...;. Das Komma in den eckigen Klammern verdeutlicht in C#, dass jetzt Daten folgen, die in zwei Dimensionen angeordnet sind.

1
2
3
4
5
6
 double[,] wetterDaten= {
                        { 9, 10.5, 1.018},
                        {12, 15.8, 1.023},
                        {15, 18.1, 1.022},
                        {18, 14.3, 1.020}
                       };

Die erste Dimension entspricht den Zeilen, also unserem Datensatz zur jeweiligen Urzeit. Die zweite Dimension entspricht den jeweiligen Daten Uhrzeit, Temperatur und Luftdruck.

Wollen wir zum Beispiel die Temperatur um 12 ausgeben geschieht das wie folgt:

Console.WriteLine("Um " + wetterDaten[1,0] + " war es " + wetterDaten[1,1] + "°C warm");

array_2d_console

Projektdateien