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 itSpan<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.