record struct
Contexte : record struct (C# 10+) est un enregistrement de type valeur qui fournit la sémantique de valeur pour les structures.
public record struct Point(int X, int Y);Caractéristiques
Section intitulée « Caractéristiques »- Type valeur (alloué sur la pile)
- Muable par défaut (ajouter
readonlypour l’immuabilité) - Fournit les mêmes avantages d’égalité et
ToStringquerecord class
public readonly record struct ImmutablePoint(int X, int Y);var p = new ImmutablePoint(3, 4);// p.X = 5; // erreur : readonlyExemple d’utilisation dans le monde réel
Section intitulée « Exemple d’utilisation dans le monde réel »Calculs géométriques : Utilisez record struct pour les petites structures immuables comme Point, Size, Rectangle afin d’éviter les allocations sur le tas et d’obtenir gratuitement l’égalité de valeur.
Exemple : Dans .NET, System.Drawing.Point est une structure mais pas un enregistrement. Le passer en record struct ajouterait la déconstruction et l’égalité.