Verkettung mit StringBuilder

7

Ist es aus Sicht von Ressourcen sinnvoll, einen StringBuilder bereits zu verwenden, um zwei Strings zu concaten oder gibt es eine minimale Verkettung, die den StringBuilder effizient macht?

    
Heinz K 09.07.2010, 21:53
quelle

4 Antworten

6

String.Join ist der schnellste, da er den gesamten benötigten Speicher in einem Vorgang zuweist. Siehe diesen Artikel: StringBuilder im Vergleich zu String / Fast String-Operationen mit .NET 2.0

    
Giorgi 09.07.2010 21:57
quelle
6

Das Verknüpfen von zwei Strings mit StringBuilder wird Ihnen keine Vorteile bringen, da das Ergebnis immer noch in eine Zeichenkette konvertiert werden muss - so dass sie direkt miteinander verknüpft werden, ist eine Zuweisung + zwei Kopien. StringBuilder kann nicht besser sein - nur den Code überladen.

    
EFraim 09.07.2010 21:58
quelle
6

Wenn Sie die Frage stellen, treffen Sie wahrscheinlich eine Entscheidung darüber, welche Technik verwendet werden soll, um eine gute Leistung zu erzielen.

Wenn Sie versuchen, eine gute Leistung zu erzielen, haben Sie wahrscheinlich eine Reihe von sorgfältig entworfenen Leistungstests, die deutlich die Unterschiede zwischen zwei verschiedenen Techniken zeigen, gemessen an einer Reihe von realistischen, benutzerorientierten Leistungsszenarien.

>

Wenn Sie eine solche Suite haben, warum fragen Sie uns? Führen Sie es einfach in beide Richtungen und sehen Sie, welche Ihnen bessere Leistung bringt!

Wenn Sie keine solche Suite haben, werden Sie niemals eine gute Leistung aus einer langsamen Anwendung herausbekommen, indem Sie Fragen stellen, die zufällig Leute im Internet kennen, die Ihre Kunden, Ihren Code oder Ihre Szenarien. Erstellen Sie eine sorgfältig konzipierte Reihe von Leistungstests, mit denen Sie den Unterschied zwischen zwei Techniken messen und mit realistischen, benutzerorientierten Leistungszielen vergleichen können.

>     
Eric Lippert 09.07.2010 22:01
quelle

Tags und Links