Aller au contenu

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);
  • Type valeur (alloué sur la pile)
  • Muable par défaut (ajouter readonly pour l’immuabilité)
  • Fournit les mêmes avantages d’égalité et ToString que record class
public readonly record struct ImmutablePoint(int X, int Y);
var p = new ImmutablePoint(3, 4);
// p.X = 5; // erreur : readonly

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é.