Exercices C#

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

C#
Exécuter le code →
Program.cs
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));
    }
}
Résultat de l’exécution
Ada: 25 | Lin: 40

S'entraîner avec le débogueur

Placez un point d'arrêt sur une affectation ou une condition importante, cliquez sur Debug et inspectez les valeurs locales avant de passer à la ligne suivante.

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