Teilstrings vs. Spans: Effizientes String-Handling in C#
Wenn Sie in C# mit Zeichenfolgen arbeiten, sind Sie wahrscheinlich auf die Notwendigkeit gestoßen, Teilzeichenfolgen zu extrahieren oder Teile einer Zeichenfolge zu bearbeiten. SubstringTraditionell würden Sie diese Methode zum Extrahieren eines Teils einer Zeichenfolge verwenden , es gibt jedoch eine neuere Alternative namens „Spans“, die Sie möglicherweise in Betracht ziehen sollten.
In diesem Artikel werfen wir einen Blick auf die Unterschiede zwischen Teilzeichenfolgen und Spannen in C# und diskutieren, wie Sie jeden Ansatz effizient nutzen können, um Zeichenfolgen in Ihrem Code zu verarbeiten.
Was sind Teilzeichenfolgen?
Ein Teilstring ist ein Teil eines Strings, den Sie mit der SubstringMethode in C# extrahieren.
Hier ist ein Beispiel dafür, wie Sie in C# einen Teilstring aus einem String extrahieren würden:
string originalString = "The quick brown fox jumps over the lazy dog";
string substring = originalString.Substring(4, 5); // == quick
Was sind Spans?
Spans sind eine neuere Alternative zu Teilzeichenfolgen in C#. Sie bieten eine effizientere Möglichkeit, Zeichenfolgen zu manipulieren.
Ein Span ist im Wesentlichen eine „Ansicht“ eines Teils eines größeren Arrays oder Strings, ohne dass tatsächlich eine neue Instanz dieses Teils erstellt wird. Dies bedeutet, dass Sie die Daten im Bereich bearbeiten können, ohne die Originaldaten zu beeinträchtigen.
Hier ist ein Beispiel dafür, wie Sie einen Span in C# erstellen würden:
string originalString = "The quick brown fox jumps over the lazy dog";
ReadOnlySpan<char> span = originalString.AsSpan(4, 5); // == quick
Vorteil der Verwendung von Spans
Da Spans im Wesentlichen „Ansichten“ eines Teils eines größeren Arrays oder Strings sind, erstellen sie keine neuen Instanzen dieser Daten. Dies bedeutet, dass die Verwendung von Spannen wesentlich effizienter sein kann als die Verwendung von Teilzeichenfolgen, insbesondere beim Umgang mit großen Zeichenfolgen.
Wann sollten Teilzeichenfolgen und Spans verwendet werden?
Während Spannen im Allgemeinen effizienter sind als Teilzeichenfolgen, gibt es dennoch einige Fälle, in denen Teilzeichenfolgen möglicherweise besser geeignet sind. Wenn Sie beispielsweise mit einer kleinen Zeichenfolge arbeiten oder nur eine einzelne Teilzeichenfolge extrahieren müssen, sind die Leistungsvorteile der Verwendung von Spans möglicherweise nicht signifikant genug, um die zusätzliche Komplexität zu rechtfertigen.
Beispielvergleich aus der Praxis
Ich habe eine Beispiel-Benchmark-Konsolenanwendung erstellt, die Sie zu Ihrem eigenen Wissen ausführen können . Nachfolgend sehen Sie ein Beispielergebnis des Benchmarks.
Wie Sie sehen, ist die Methode „ReplaceSpan“ etwa 23 % schneller. Darüber hinaus ist der zugewiesene Speicher um mehr als 50 Prozent geringer.

![Was ist überhaupt eine verknüpfte Liste? [Teil 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































