Sdílet prostřednictvím


Vynucuje se limit velikosti vložené struktury pole.

Atribut InlineArrayAttribute byl zaveden v .NET 8 pro přidávání poznámek typů struktur, které mají jedno pole. Vložené struktury pole měly mít limit velikosti 1 mebibajtů (MiB). Kvůli chybě se však limit nevynucuje pro vložené struktury pole, které mají sekvenční rozložení, což je také výchozí rozložení generované jazykem C#. Tato změna vynucuje limit velikosti.

Předchozí chování

V .NET 8 můžete deklarovat vloženou strukturu pole s libovolnou kladnou, nenulovou velikostí. V extrémních případech byla efektivní velikost nepředvídatelná. Například struktura, jejíž velikost byla deklarována jako Int32.MaxValue + 1 ukončena, má velikost 1 kvůli obtékání.

Nové chování

Počínaje rozhraním .NET 9 se vynucuje limit velikosti 1 MiB.

Zavedená verze

.NET 9 Preview 1

Typ zásadní změny

Tato změna je změna chování.

Důvod změny

Tato změna opravuje chybu v implementaci, kdy se nevynucovalo omezení velikosti.

Pokud máte kód, který používá vložené struktury pole s velmi velkými instancemi, které překračují limit, snižte velikost těchto struktur.

Ovlivněná rozhraní API