Skip to main content
Oft hast du nicht einen Wert, sondern viele: Punkte, Namen, Preise. Dafür gibt es Arrays und Collections.

Arrays

Ein Array hat eine feste Größe und enthält Werte desselben Typs. Der erste Index ist 0.
Ein Index außerhalb des Arrays löst eine IndexOutOfRangeException aus. Bei vier Elementen ist zahlen[4] bereits ungültig.

Durchlaufen und sortieren

Zweidimensionale Arrays

Ein Raster aus Zeilen und Spalten:

Welche Sammlung wofür?

List<T>, Dictionary<K, V> und die anderen liegen in System.Collections.Generic. In neuen Projekten ist dieser Namespace durch ImplicitUsings schon eingebunden. Das <T> ist ein Typparameter: List<string> ist eine Liste von Texten.

List


Dictionary

Ein Dictionary ordnet jedem Schlüssel genau einen Wert zu, wie ein Wörterbuch:
Greifst du mit alter["Max"] auf einen nicht vorhandenen Schlüssel zu, löst das eine KeyNotFoundException aus. Nutze TryGetValue oder prüfe vorher mit ContainsKey.

HashSet


LINQ: Sammlungen abfragen

LINQ (Language Integrated Query) ist eine Sammlung von Methoden, mit denen du Daten filterst, sortierst und berechnest. Die Methoden stehen in System.Linq, das in neuen Projekten ebenfalls automatisch importiert wird.
Die =>-Ausdrücke sind Lambdas (siehe Methoden). Methoden lassen sich verketten:
LINQ-Abfragen werden meist erst ausgeführt, wenn du das Ergebnis tatsächlich brauchst, zum Beispiel in foreach oder bei ToList().

Weiter

4.2.6 Objektorientierung

Eigene Typen mit Daten und Verhalten bauen.