0 Tage Serie
csharp / expert
Snippet

Speichersicheres String-Slicing via ReadOnlySpan

Die Verwendung von ReadOnlySpan<char> ermöglicht eine hochperformante String-Manipulation, indem direkt auf vorhandenen Speicher verwiesen wird. Dies eliminiert Heap-Allokationen beim Slicing, was für Systeme mit geringer Latenz und hohem Datendurchsatz entscheidend ist.

snippet.cs
csharp
1
2
3
4
5
6
7
8
9
10
11
12
13
public void ParsePayload(string data)
{
// Avoids creating a new string object on the heap
ReadOnlySpan<char> span = data.AsSpan();
int start = data.IndexOf(':') + 1;
ReadOnlySpan<char> segment = span.Slice(start, 5);
if (segment.SequenceEqual("DEBUG"))
{
EnableVerboseLogging();
}
}
Erklärung
1
data.AsSpan()
Erzeugt eine Value-Type-Ansicht auf den String, ohne Daten zu kopieren.
2
span.Slice(start, 5)
Erzeugt eine Teilansicht des ursprünglichen Speicherfensters.