Inlinematrixgroottelimiet wordt afgedwongen
Het InlineArrayAttribute kenmerk is geïntroduceerd in .NET 8 om aantekeningen te maken bij structtypen die één veld hebben. Inlinematrix-structs waren bedoeld om een groottelimiet van 1 mebibyte (MiB) te hebben. Vanwege een fout werd de limiet echter niet afgedwongen voor inlinematrixstructs met een sequentiële indeling, wat ook de standaardindeling is die door C# wordt verzonden. Met deze wijziging wordt de groottelimiet afgedwongen.
In .NET 8 kunt u een inlinematrixstruct declareren met een positieve, niet-nulgrootte. In extreme gevallen was de effectieve grootte onvoorspelbaar. Bijvoorbeeld een struct waarvan de grootte is gedeclareerd als Int32.MaxValue + 1
uiteindelijk een grootte van 1 als gevolg van terugloop.
Vanaf .NET 9 wordt de groottelimiet van 1 MiB afgedwongen.
.NET 9 Preview 1
Deze wijziging is een gedragswijziging.
Met deze wijziging wordt een fout opgelost in de implementatie waarbij de groottelimiet niet is afgedwongen.
Als u code hebt die gebruikmaakt van inlinematrixstructs met zeer grote exemplaren die de limiet overschrijden, verkleint u de grootte van deze structs.
Feedback over .NET
.NET is een opensourceproject. Selecteer een koppeling om feedback te geven: