Tipi correlati alla memoria e agli intervalli

A partire da .NET Core 2.1, .NET include un numero di tipi interrelati che rappresentano un'area contigua e fortemente tipizzata di memoria arbitraria. Queste includono:

System.Span<T>, System.Memory<T>e le loro controparti readonly sono progettate per consentire la creazione di algoritmi che evitano la copia della memoria o l'allocazione nell'heap gestito più che necessario. La creazione (tramite Slice o i relativi costruttori) non comporta la duplicazione dei buffer sottostanti: vengono aggiornati solo i riferimenti e gli offset pertinenti, che rappresentano la "vista" della memoria con wrapping.

Nota

Per i framework precedenti, Span<T> e Memory<T> sono disponibili nel pacchetto NuGet System.Memory.

Per altre informazioni, vedere lo spazio dei nomi System.Buffers.

Uso di memoria e intervalli

Poiché i tipi correlati alla memoria e agli intervalli vengono in genere usati per archiviare i dati in una pipeline di elaborazione, è importante che gli sviluppatori seguano una serie di procedure consigliate quando usano Span<T>, Memory<T> e i tipi correlati. Queste procedure consigliate sono documentate nelle linee guida per l'utilizzo di MemoryT< e SpanT><>.

Vedere anche