Apr 212008
 

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.

2.

3.

4.

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.

Tags: ,

es läuft: Madonna – Madonna – Ray Of Light – Frozen

  7 Responses to “70-536 – Ich hasse solche Fragen”

Comments (7)
  1. Warum sollte man etwas roggen, was man nicht ausführen kann? Echt banale Frage! ich würde es auch einfach wie ein 3 programieren (oder doch lieber wie in 4? 😉 ).

  2. "most efficient" ist halt schon eben der StringBuilder. Aber funktionieren tut er nicht.

  3. nicht verzweifeln, einfach ausprobieren was ausführbar ist. Würde aber auch zu 3. tendieren.

  4. Noch dazu ist es schlicht und einfach falsch! Bei 4 Verkettungen ist der StringBuider sinnlos und benötigt länger als einen "normale" string-Verkettung

    Siehe die Ausgabe des folgenden kleinen Konsolen-Programms:
    Hello, World!
    56
    Hello, World!
    21

    var sw = new Stopwatch();

    sw.Start();

    string s = null;
    var sb = new StringBuilder();
    sb.Append("Hello");
    sb.Append(", ");
    sb.Append("World");
    sb.Append("!");
    s = sb.ToString();

    sw.Stop();

    Console.WriteLine(s);
    Console.WriteLine(sw.ElapsedTicks);

    sw.Reset();

    sw.Start();

    string z = null;
    z = "Hello";
    z += ", ";
    z += "World";
    z += "!";

    sw.Stop();

    Console.WriteLine(z);
    Console.WriteLine(sw.ElapsedTicks);

    Console.ReadKey();

  5. Bei so kurzen verkettungen geb ich dir recht.
    Es gibt aber Leute die arbeiten überhaupt nicht mit string sondern immer mit StringBuilder. 🙂

  6. Ja, ich nutze ihn mittlerweile auch häufig; insbesondere, da man die Append-Methoden ja mit allem möglichem füttern kann und auch die String Formatierung gleich mit drin ist.

    Aber es war ja nach der "most efficient" code sample gefragt und das wäre der StringBuilder zumindest im konkreten Fall eben nicht… Dann hätten die M$ Jungs noch 4-5 Strings dran hängen müssen… Außerdem hätte ich nie gedacht das in ner MS-Prüfung solche Fangfragen dabei sind (bin selbst gerade am überlegen, die Prüfung(en) zu machen).

  7. Das sind die original Trainingsfragen. In dem Stiel kommen die nicht an der Prüfung. Aber es ging MS nur um das Bewustsein, dass StingBuilder schneller ist als String. Aber eben nur, wenn man auch ausgiebige Stringoperationen macht. Sonst nicht.

Sorry, the comment form is closed at this time.