Załóżmy, że mam program do tworzenia ciągów w C #, który robi to:
StringBuilder sb = new StringBuilder();
string cat = "cat";
sb.Append("the ").Append(cat).(" in the hat");
string s = sb.ToString();
czy byłoby to tak wydajne czy bardziej wydajne, jak posiadanie:
string cat = "cat";
string s = String.Format("The {0} in the hat", cat);
Jeśli tak, dlaczego?
EDYTOWAĆ
Po kilku interesujących odpowiedziach zdałem sobie sprawę, że prawdopodobnie powinienem był trochę bardziej wyrazić, o co pytałem. Nie pytałem o to, co jest szybsze w konkatenacji ciągu, ale które jest szybsze w wstrzykiwaniu jednego ciągu do drugiego.
W obu powyższych przypadkach chcę wstrzyknąć jeden lub więcej ciągów w środek wstępnie zdefiniowanego ciągu szablonu.
Przepraszam za zamieszanie
string s = "The "+cat+" in the hat";
może być najszybszy, chyba że zostanie użyty w pętli, w którym to przypadku najszybszy będzie z StringBuilder
zainicjalizowanym poza pętlą.