Kunden- und Bestelldaten mit LINQ Join verknüpfen in C#
In dieser Lektion verknüpfst du mit LINQ Join eine Kundenliste und eine Bestellliste über die Kundennummer.
Einführung
Zusammengehörige Daten liegen oft in getrennten Listen, etwa eine Liste mit Kunden und eine mit Bestellungen. Die LINQ-Methode Join verbindet diese beiden Listen über einen gemeinsamen Schlüssel, ähnlich wie ein JOIN in einer Datenbank.
Die Methode Join erhält vier Parameter: die zu verknüpfende Liste, wie der Schlüssel aus dem Kunden geholt wird (c => c.Id), wie der Schlüssel aus der Bestellung geholt wird (o => o.CustomerId) und wie für jedes passende Paar das Ergebnis gebildet wird. Jede Bestellung wird mit dem Kunden mit derselben Nummer verknüpft, das Ergebnis ist Ada: 25 | Lin: 40.
Ausführbares C#-Beispiel
using System;
using System.Linq;
record Customer(int Id, string Name);
record Order(int CustomerId, decimal Total);
class Program
{
static void Main()
{
var customers = new[] { new Customer(1, "Ada"), new Customer(2, "Lin") };
var orders = new[] { new Order(2, 40m), new Order(1, 25m) };
var rows = customers.Join(orders, c => c.Id, o => o.CustomerId, (c, o) => $"{c.Name}: {o.Total}");
Console.WriteLine(string.Join(" | ", rows));
}
}
Ada: 25 | Lin: 40Mit dem Debugger üben
Mit einer Challenge üben
Nutze den Inhalt dieser Lektion, um ein echtes Problem zu lösen. Jede Challenge läuft im Browser, mit sofortigen Tests und einem KI-Review.
Alle Challenges