Supongamos que tengo un generador de cadenas en C # que hace esto:
StringBuilder sb = new StringBuilder();
string cat = "cat";
sb.Append("the ").Append(cat).(" in the hat");
string s = sb.ToString();
sería eso tan eficiente o más eficiente como tener:
string cat = "cat";
string s = String.Format("The {0} in the hat", cat);
Si es así, ¿por qué?
EDITAR
Después de algunas respuestas interesantes, me di cuenta de que probablemente debería haber sido un poco más claro en lo que estaba preguntando. No estaba preguntando cuál era más rápido para concatenar una cadena, sino cuál era más rápido para inyectar una cadena en otra.
En los dos casos anteriores, quiero inyectar una o más cadenas en el medio de una cadena de plantilla predefinida.
Perdón por la confusion
string s = "The "+cat+" in the hat";
podría ser el más rápido a menos que se use en un bucle, en cuyo caso el más rápido será con un StringBuilder
inicializado fuera del bucle.