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?
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?
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
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.
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 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.