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.

Entdecke das Potenzial von C# und werde ein erfahrener Programmierer! Unser exklusiver Video Intensivkurs bietet dir alles, was du brauchst, um C# wie ein Pro zu beherrschen. Lerne von erfahrenen Dozenten, arbeite dich durch interaktive Übungen und Projekte und verbessere deine Fähigkeiten in Rekordzeit. Klick jetzt hier und starte deine Reise zum C#-Experten!

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

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.

Willst du wissen, wie du einfach und schnell zum C# Profi wirst?
PRogrammieren lernen kann einfach sein!
Overlay Image
Willst du wissen, wie du einfach und schnell zum C# Profi wirst?
PRogrammieren lernen kann einfach sein!
Overlay Image
Setze dein gelerntes Wissen in die Tat um und programmiere echte Anwendungen.
1. Tipp
1/3
Overlay Image
Setze dein gelerntes Wissen in die Tat um und programmiere echte Anwendungen.
1. Tipp
1/3
Overlay Image
Lerne wie du mit Debugging Fehler eines Programmes professionell beheben kannst.
2. Tipp
2/3
Overlay Image
Lerne wie du mit Debugging Fehler eines Programmes professionell beheben kannst.
2. Tipp
2/3
Overlay Image
Fokussiere dich beim lernen auf die richtigen Inhalte und nicht auf die Menge.
3. Tipp
3/3
Overlay Image
Fokussiere dich beim lernen auf die richtigen Inhalte und nicht auf die Menge.
3. Tipp
3/3
Overlay Image
Ja, so einfach kann es sein! Mit meinem C# Video-Intensivkurs wirst du ganz einfach zum echten C# Profi Entwickler. Möchtest du mehr dazu erfahren?
Alles in einem Kurs
Overlay Image
Ja, so einfach kann es sein! Mit meinem C# Intensivkurs für Grundlagen und Expertenwissen wirst du ganz einfach zum echten Profi Entwickler. Möchtest du mehr dazu erfahren?
Alles in einem Kurs
Overlay Image
Diese Seite verwendet Cookies. Wir können diese zur Analyse unserer Besucherdaten platzieren, um unsere Website zu verbessern, personalisierte Inhalte anzuzeigen und Ihnen ein großartiges Website-Erlebnis zu bieten. Für weitere Informationen zu den von uns verwendeten Cookies öffnen Sie die Einstellungen.
Datenschutz
IT Leismann, Inhaber: Jannick Leismann (Firmensitz: Deutschland), verarbeitet zum Betrieb dieser Website personenbezogene Daten nur im technisch unbedingt notwendigen Umfang. Alle Details dazu in der Datenschutzerklärung.
Datenschutz
IT Leismann, Inhaber: Jannick Leismann (Firmensitz: Deutschland), verarbeitet zum Betrieb dieser Website personenbezogene Daten nur im technisch unbedingt notwendigen Umfang. Alle Details dazu in der Datenschutzerklärung.