C# LINQ

C# Linq

C# Linq ist ein tolles Werkzeug, um Daten aus einem Array oder einer Liste abzufragen. Man kann einfach nach bestimmten Werten suchen oder auch komplexere Operationen durchführen.

Zum Beispiel kann man mit Linq nach allen Personen suchen, die älter als 18 sind:

Mit meinem kostenlosen Videokurs zu den Grundlagen von C# findest du den perfekten Einstieg in die Softwareentwicklung mit C#. Egal, ob du C# als Hobby, für die Uni oder für eine neue Karriere lernen möchtest, mit diesem Kurs lernst du C# schnell, einfach und professionell.
Mit meinem kostenlosen Videokurs zu den Grundlagen von C# findest du den perfekten Einstieg in die Softwareentwicklung mit C#.
var result = from person in persons
             where person.age > 18
             select person;

Oder man kann nach allen Personen suchen, die in Berlin wohnen:

var result = from person in persons
             where person.city == "Berlin"
             select person;

Linq ist sehr mächtig und kann in vielen Situationen sehr nützlich sein. Wenn man einmal damit angefangen hat, wird man es immer wieder verwenden wollen!

Die LINQ-Syntax im obigen Beispiel ist sehr einfach. Man beginnt mit dem Schlüsselwort “from”, gefolgt von einer Variable, in der die Daten gespeichert sind. Dann kommt das Schlüsselwort “where”, gefolgt von einem Suchkriterium. Zum Schluss kommt das Schlüsselwort “select”, gefolgt von der Variable, in der die Ergebnisse gespeichert werden sollen.

C# LINQ – Zwei Arten von Syntax

Es gibt zwei Arten von LINQ-Syntax: die Query-Syntax und die Methoden-Syntax.

Die Query-Syntax (wie im obigen Beispiel) sieht folgendermaßen aus:

var result = from person in persons
             where person.age > 18
             select person;

Die Methoden-Syntax sieht im Vergleich dazu folgendermaßen aus:

var result = persons.Where(person => person.age > 18);

Beide Syntaxen sind gültig und erfüllen den gleichen Zweck. Die Query-Syntax ist etwas einfacher zu lesen und verstehen, während die Methoden-Syntax etwas kürzer ist. Es ist eine Frage des Geschmacks, welche man verwendet.

Beispiele für C# LINQ

Hier sind einige LINQ-Beispiele in der Query-Syntax:

var result = from person in persons
             where person.age > 18
             select person;

var result = from person in persons
             where person.city == "Berlin"
             select person;

var result = from person in persons
             where person.age > 18 && person.city == "Berlin"
             select person;

var result = from person in persons
             orderby person.age
             select person;

var result = from person in persons
             orderby person.age descending
             select person;

var result = from person in persons
             orderby person.age, person.name
             select person;

Hier sind einige LINQ-Beispiele in der Methoden-Syntax:

var result = persons.Where(person => person.age > 18);

var result = persons.Where(person => person.city == "Berlin");

var result = persons.Where(person => person.age > 18 && person.city == "Berlin");

var result = persons.OrderBy(person => person.age);

var result = persons.OrderByDescending(person => person.age);

var result = persons.OrderBy(person => person.age).ThenBy(person => person.name);

Linq Methoden

Es gibt viele Methoden die du in C# Linq verwenden kannst um Elemente zu selektieren, gruppieren und sortieren:

  • First()
  • FirstOrDefault()
  • Last()
  • LastOrDefault()
  • Single()
  • SingleOrDefault()
  • Skip()
  • Take()
  • Join()
  • GroupJoin()
  • OrderBy()
  • OrderByDescending()
  • ThenBy()
  • ThenByDescending()
  • GroupBy()
  • Distinct()
  • Union()
  • Intersect()
  • Except()
  • Zip()
  • Concat()
  • DefaultIfEmpty()
  • Reverse()

In diesem Beispiel hier verwenden wir einen längeren Query mit mehreren Keywords um detaillierter zu filtern und selektieren:

var result = from c in customers
             where c.City == "London"
             orderby c.Name
             select new { c.Name, c.Phone };

Hier wurden also gleich mehrere keywords/statements verwendet um die Abfrage (Query) noch detaillierter zu gestalten.

Falls du noch mehr über C# Linq erfahren möchtest, dann schau mal hier.

✅ Lerne alle Grundlagen der C# Programmierung ✅ Der ideale Einstieg in die Softwareentwicklung ✅ 30+ HD Videolektionen ✅ Komplett kostenlos ✅ Sofortiger Zugriff
Der C# Grundlagenkurs
Kostenlos
Overlay Image
Der C# Grundlagenkurs
Kostenlos
✅ Alle Grundlagen der C# Programmierung ✅ Der ideale Einstieg in die Entwicklung ✅ 30+ HD Videolektionen ✅ Komplett kostenlos ✅ Sofortiger Zugriff
Overlay Image