Exercices C#

Mettre à jour une commande immuable avec un record en C#

Dans cette leçon, vous allez utiliser un record et l'expression with pour créer une nouvelle version d'une commande sans modifier l'originale.

Introduction

Des données immuables (immutable) ne changent plus une fois créées. Au lieu de les modifier directement, on crée une copie avec les changements nécessaires. Cela évite des erreurs difficiles à repérer quand plusieurs parties du programme partagent le même objet.

L'expression pending with { Status = "Shipped" } crée une nouvelle commande avec le même Id mais l'état Shipped. La commande pending d'origine garde l'état Pending, c'est pourquoi le résultat affiché est Pending -> Shipped.

Exemple C# exécutable

C#
Exécuter le code →
Program.cs
using System;
record Order(int Id, string Status);
class Program
{
    static void Main()
    {
        var pending = new Order(7, "Pending");
        var shipped = pending with { Status = "Shipped" };
        Console.WriteLine($"{pending.Status} -> {shipped.Status}");
    }
}
Résultat de l’exécution
Pending -> Shipped

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.