string str = 'my {0} long string {1} need formatting';
debería hacer lo siguiente,¿Qué sería más rápido en este contexto String.Format o String.Replace?
str = string.Format(str, "really", "doesn't");
o la creación de un método como tal y llamando str = str.ReplaceWithValues("really", "doesn't");
public string ReplaceWithValues(this string str, params object[] values) {
string ret = str;
for (int i = 0; i < values.Length; i++) {
ret = str.Replace(string.Concat("{", i, "}"), values.ToString());
}
return ret;
}
Parece que StringBuilder.AppendFormat() no es eficiente cuando se trata de hacer reemplazos simples como este ya que va de personaje en personaje a través de la cadena.
¿Necesita una afinación de rendimiento tan extrema o simplemente tiene curiosidad? –
@ Claudio Redi - Solo tengo curiosidad. –
"Parece que' StringBuilder.AppendFormat() 'no es eficiente cuando se trata de hacer reemplazos simples como este ya que va carácter por carácter a través de la cadena." ¿Qué piensas 'string.Replace' does? – mquander