csharp / expert
Snippet
Speichereffizienz mit Span<T> und Stackalloc
Span<T> bietet eine typsichere und speichersichere Darstellung eines zusammenhängenden Bereichs von beliebigem Speicher. Durch die Kombination mit stackalloc können Sie Hochleistungs-Pufferoperationen vollständig auf dem Stack ausführen, den Garbage Collector umgehen und den Speicherdrück reduzieren.
snippet.csharp
1
2
3
4
5
public void ProcessData(ReadOnlySpan<byte> data) {Span<byte> buffer = stackalloc byte[128];data.Slice(0, 64).CopyTo(buffer);// Perform operations without heap allocation}
Erklärung
1
Span<byte> buffer = stackalloc byte[128];
Allokiert Speicher auf dem Stack anstatt auf dem verwalteten Heap.
2
data.Slice(0, 64)
Erstellt eine Ansicht über einen Teilbereich des Speichers, ohne Daten zu kopieren.