Minnes- och span-relaterade typer

Från och med .NET Core 2.1 innehåller .NET ett antal relaterade typer som representerar en sammanhängande, starkt typad region med godtyckligt minne. Dessa omfattar:

System.Span<T>, System.Memory<T>och deras skrivskyddade motsvarigheter är utformade för att göra det möjligt att skapa algoritmer som undviker att kopiera minne eller allokera på den hanterade heapen mer än nödvändigt. Att skapa dem (antingen via Slice eller deras konstruktorer) innebär inte att de underliggande buffertarna dupliceras: endast relevanta referenser och förskjutningar, som representerar "vyn" för det omslutna minnet, uppdateras.

Anteckning

För tidigare ramverk Span<T> och Memory<T> är tillgängliga i NuGet-paketet System.Memory.

Mer information finns i System.Buffers namnområdet.

Arbeta med minne och spann

Eftersom minnes- och span-relaterade typer vanligtvis används för att lagra data i en bearbetningspipeline är det viktigt att utvecklare följer en uppsättning metodtips när de använder Span<T>, Memory<T>och relaterade typer. De här metodtipsen beskrivs i riktlinjerna för minnesanvändning<> och SpanT-användning<>.

Se även