Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
L’attribut InlineArrayAttribute a été introduit dans .NET 8 pour annoter les types de structs qui ont un champ unique. Les structs de tableaux en ligne étaient conçues pour avoir une limite de taille de 1 mébioctet (Mio). Toutefois, en raison d’un bogue, la limite n’a pas été appliquée pour les structs de tableau inline qui ont une disposition séquentielle, qui est également la disposition par défaut émise par C#. Cette modification applique la limite de taille.
Comportement précédent
Dans .NET 8, vous pouvez déclarer un struct de tableau inline avec n’importe quelle taille positive et non nulle. Dans les cas extrêmes, la taille effective était imprévisible. Par exemple, un struct dont la taille a été déclarée comme Int32.MaxValue + 1 finit par avoir une taille de 1 en raison d’un contournement.
Nouveau comportement
À compter de .NET 9, la limite de taille de 1 Mio est appliquée.
Version introduite
.NET 9 Preview 1
Type de changement cassant
Ce changement est un changement de comportement.
Raison de la modification
Cette modification corrige un bogue dans l’implémentation où la limite de taille n’a pas été appliquée.
Action recommandée
Si vous avez du code qui utilise des structs de tableau inline avec des instances très volumineuses qui dépassent la limite, réduisez la taille de ces structs.