Tome el siguiente código:volver nueva cadena vs .ToString()
public static string ReverseIt(string myString)
{
char[] foo = myString.ToCharArray();
Array.Reverse(foo);
return new string(foo);
}
entiendo que las cadenas son inmutables, pero lo que no entiendo es por qué una nueva cadena necesita ser llamado
return new string(foo);
en lugar de
return foo.ToString();
tengo que asumir que tiene algo que ver con volver a montar el CharArray (pero eso es sólo una gu ess).
¿Cuál es la diferencia entre los dos y, ¿cómo saber cuándo debe regresar una nueva cadena en lugar de devolver un System.String que representa el objeto actual?
supongo que la llamada a .ToString() es más rápido, pero que es sin importancia dado que no hace lo mismo que el constructor de cadenas. –