Heim >Backend-Entwicklung >C++ >Wie kann LINQ Strings effizient verketten?

Wie kann LINQ Strings effizient verketten?

Barbara Streisand
Barbara StreisandOriginal
2025-01-04 05:53:40560Durchsuche

How Can LINQ Efficiently Concatenate Strings?

LINQ zum Verketten von Strings

In älterem Code wurden Strings oft mit einem StringBuilder in einer Schleife verkettet. Diese Methode ist zwar funktionsfähig, kann jedoch ineffizient und ausführlich sein.

LINQ bietet eine prägnantere und effizientere Alternative durch aggregierte Abfragen. Um Zeichenfolgen mithilfe von LINQ zu verketten, führen Sie die folgenden Schritte aus:

Aggregatabfragen

Aggregatabfragen werden verwendet, um eine Sammlung von Werten auf einen einzigen Skalarwert zu reduzieren. In diesem Fall werden die Zeichenfolgen auf eine einzelne, verkettete Zeichenfolge reduziert.

string[] words = { "one", "two", "three" };
var result = words.Aggregate(
    "", // Start with an empty string to handle empty lists.
    (current, next) => current + ", " + next);

Aufschlüsselung

  • Aggregat: Startet die Abfrage und gibt einen Anfangswert und eine Aggregationsfunktion an.
  • (aktuell, nächstes) => ...: Definiert die Aggregationsfunktion, die jede Zeichenfolge mit einem Trennzeichen zur aktuellen Zeichenfolge kombiniert.
  • current ", " next: Verkettet das Trennzeichen und die nächste Zeichenfolge mit der aktuellen Zeichenfolge.

Ergebnis

Die Ausführung dieser Abfrage ergibt:

one, two, three

Alternative Verwendung StringBuilder

Während Aggregatabfragen eine vielseitige LINQ-Funktion sind, bietet String.Join eine leistungsfähigere Option zum Verketten einer großen Anzahl von Zeichenfolgen:

string result = String.Join(", ", words);

Das obige ist der detaillierte Inhalt vonWie kann LINQ Strings effizient verketten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn