by
Roland Schumacher alias GENiALi
21. April 2008 -- 147
words -- 3109 mal gelesen
Das hier war die Frage.
Which of the following code samples is the most efficient and compiles correctly?
Folgende Antworten standen zur Verfügung.
1.
string s = null;
StringBuilder sb = null;
sb.Append("Hello");
sb.Append(", ");
sb.Append("World");
sb.Append("!");
s = sb.ToString();
2.
string s = null;
StringBuilder sb = null;
sb = "Hello";
sb += ", ";
sb += "World";
sb += "!";
s = sb.ToString();
3.
string s = null;
s = "Hello";
s += ", ";
s += "World";
s += "!";
4.
string s = null;
s = "Hello";
s += ", ";
s += "World";
s += "!";
Für mich war klar, es muss 3 oder 4 sein. Dort finde ich aber
keinen Unterschied. 1 kann nicht sein. StringBuilder ist null
und da kann man kein Append machen. Bei 2 wird der StringBuilder
falsch angewendet.
Richtig war die 1. Wie so? Sie ist effizient und lässt sich kompilieren.
Aber NICHT ausführen. Das war ja auch nicht die Frage.
Ich hasse solche Fragen.