0 Tage Serie
csharp / intermediate
Snippet

Hochleistungs-Speichermanagement mit Span

Span<T> stellt einen zusammenhängenden Speicherbereich dar. Es ermöglicht Hochleistungsoperationen wie das Slicing von Arrays, ohne teure Kopien zu erstellen. Dies ist besonders nützlich in leistungskritischen Anwendungen, in denen die Speicherbelegung minimiert werden muss.

snippet.cs
csharp
1
2
3
4
5
6
7
8
9
10
public void UpdateValues(int[] data)
{
// Create a window (slice) into the array without copying it
Span<int> slice = data.AsSpan(1, 3);
for (int i = 0; i < slice.Length; i++)
{
slice[i] *= 10; // Directly modifies the original 'data' array
}
}
Erklärung
1
Span<int> slice = data.AsSpan(1, 3);
Erstellt eine Ansicht von 3 Elementen ab Index 1 des ursprünglichen Arrays.
2
slice[i] *= 10;
Modifiziert den Speicher direkt; Änderungen werden im ursprünglichen 'data'-Array reflektiert.