45 Stimmen

Der beste Weg, um lange Zeichenfolgen in C#-Quellcode zu unterbrechen

Ich frage mich, was ist die "beste Praxis" zu brechen lange Zeichenfolgen in C#-Quellcode. Ist diese Zeichenfolge

"string1"+
"string2"+
"string3"

während der Kompilierung oder während der Laufzeit verkettet?

1voto

Tamir Punkte 2447

Es kommt wirklich darauf an, was Sie brauchen. Wenn Sie Strings zusammenfügen müssen, erzielen Sie die beste Leistung zur Laufzeit mit dem StringBuilder. Wenn Sie sich im Quellcode auf etwas wie var str = "String1"+"String2" beziehen, wird es beim Kompilieren in string str = "String1String2" umgewandelt. In diesem Fall haben Sie keinen Verkettungs-Overhead

1voto

Sani Singh Huttunen Punkte 22657

StringBuilder ist ein guter Weg, wenn Sie viele (mehr als etwa vier) Strings zu verketten haben. Er ist schneller.

Die Verwendung von String.Concat in Ihrem obigen Beispiel erfolgt zur Kompilierzeit. Da es sich um Literal-Strings handelt, werden sie vom Compiler optimiert.

Wenn Sie jedoch Variablen verwenden:

string a = "string1";
string b = "string2";
string c = a + b;

Dies geschieht zur Laufzeit.

0voto

Damien Punkte 13547

Können Sie nicht eine StringBuilder ?

0voto

Es gibt jede Möglichkeit, das zu tun. Mein Favorit verwendet die Methoden eines Strings aus C#. Beispiel Eins:

string s=string.Format("{0} {1} {0}", "Hallo", "Von"); Ergebnis ist s="Hello By Hello";

-3voto

naspinski Punkte 33080

StringBuilder ist der schnellste Ansatz, wenn Sie eine beliebige Anzahl von Strings verwenden.

http://dotnetperls.com/Content/StringBuilder-1.aspx

Wenn Sie nur ein paar Zeichenfolgen (5 oder weniger ist eine gute Regel) die Geschwindigkeit wird nicht von welcher Art der Verkettung Sie verwenden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X