Aller au contenu

struct

Contexte : Une struct est un type valeur qui peut encapsuler des données et un comportement. Contrairement aux classes, les structures ne supportent pas l’héritage.

public struct Rectangle
{
public double Width;
public double Height;
public double Area() => Width * Height;
}

Une structure peut avoir des constructeurs paramétrés. Le constructeur sans paramètre n’est pas autorisé (C# 10+ l’autorise sous certaines conditions).

public struct Color
{
public byte R, G, B;
public Color(byte r, byte g, byte b) => (R, G, B) = (r, g, b);
}

Types numériques haute performance : Utilisez des structures pour les nombres complexes, les fractions ou les montants monétaires afin de réduire les allocations sur le tas dans les boucles serrées.

Exemple : Dans .NET, System.Decimal est une structure. Elle fournit des opérations arithmétiques avec sémantique de valeur.