Aller au contenu

Type sous‑jacent

Contexte : Les énumérations ont un type entier sous‑jacent (par défaut int). Vous pouvez le changer en byte, sbyte, short, ushort, int, uint, long ou ulong.

public enum SmallEnum : byte
{
Zero = 0,
One = 1,
Max = 255
}
public enum FileMode : uint
{
Read = 1,
Write = 2,
ReadWrite = 3
}

Applications sensibles à la mémoire : Utilisez byte comme type sous‑jacent pour les énumérations de moins de 256 valeurs afin d’économiser la mémoire lorsqu’elles sont stockées dans de grands tableaux.

Exemple : Dans le développement de jeux, une énumération WeaponType : byte réduit l’empreinte mémoire pour des milliers d’ennemis. Enum.GetUnderlyingType peut être utilisé pour inspecter le type.