Les records et la comparaison par valeur en C#
Dans cette leçon, vous allez représenter des données immuables de façon concise avec des records et créer des copies modifiées avec l'expression with.
Introduction
Le record est un type conçu pour les objets qui servent surtout à contenir des données. Avec une seule ligne de déclaration, il dispose d'un constructeur, de propriétés en lecture seule et d'un affichage soigné. Surtout, deux records sont considérés comme égaux quand les valeurs qu'ils contiennent sont identiques.
La ligne record User(string Name, string Role) crée un type doté des deux propriétés Name et Role. L'expression original with { Role = "Lead" } crée une copie où seul Role change, tandis qu'original garde Developer. À l'affichage, le record présente automatiquement son contenu sous la forme User { Name = Ada, Role = Lead }.
Exemple C# exécutable
using System;
record User(string Name, string Role);
class Program
{
static void Main()
{
var original = new User("Ada", "Developer");
var promoted = original with { Role = "Lead" };
Console.WriteLine(promoted);
}
}
User { Name = Ada, Role = Lead }S'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