Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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, nakonec měla velikost 1 kvůli přetečení.
Nové chování
Počínaje rozhraním .NET 9 se vynucuje limit velikosti 1 MiB.
Verze byla představena
.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.
Doporučená akce
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.