Se aplica el límite de tamaño de estructura de matriz insertada
El atributo InlineArrayAttribute se introdujo en .NET 8 para anotar tipos de estructuras que tienen un único campo. Los estructuras de matriz en línea debían tener un límite de tamaño de 1 mebibyte (MiB). Sin embargo, debido a un error, el límite no se aplicaba a las estructuras de matriz en línea que tienen un diseño secuencial, que es también el diseño por defecto emitido por C#. Este cambio refuerza el límite de tamaño.
Comportamiento anterior
En .NET 8, se podía declarar una estructura de matriz en línea con cualquier tamaño positivo distinto de cero. En casos extremos, el tamaño efectivo era impredecible. Por ejemplo, una estructura cuyo tamaño se declaró como Int32.MaxValue + 1
terminó teniendo un tamaño de 1 debido al ajuste.
Comportamiento nuevo
A partir de .NET 9, se aplica el límite de tamaño de 1 MiB.
Versión introducida
Versión preliminar 1 de .NET 9
Tipo de cambio importante
Este es un cambio de comportamiento.
Motivo del cambio
Este cambio corrige un error de implementación por el que no se aplicaba el límite de tamaño.
Acción recomendada
Si tiene código que utiliza estructuras de matriz en línea con instancias muy grandes que superan el límite, reduzca el tamaño de estas estructuras.