capypad
0 Tage Serie
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
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.