Joindre des données de clients et de commandes avec LINQ Join en C#
Dans cette leçon, vous allez joindre une liste de clients à une liste de commandes à partir du code client avec LINQ Join.
Introduction
Les données liées sont souvent réparties dans des listes séparées, par exemple une liste de clients et une liste de commandes. La méthode Join de LINQ réunit ces deux listes selon une clé commune, comme une jointure (JOIN) dans une base de données.
La méthode Join prend quatre paramètres : la liste à joindre, la façon d'obtenir la clé du client (c => c.Id), la façon d'obtenir la clé de la commande (o => o.CustomerId) et la façon de construire le résultat pour chaque paire correspondante. Chaque commande est associée au client qui a le même code, ce qui donne Ada: 25 | Lin: 40.
Exemple C# exécutable
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: 40S'entraîner avec le débogueur
S'entraîner avec un défi
Utilisez le contenu de cette leçon pour résoudre un vrai problème. Chaque défi s'exécute dans le navigateur, avec des tests instantanés et une revue par l'IA.
Tous les défis