Me temo que esta es una pregunta muy tonta, pero me falta algo.¿Cuál es el uso de System.String.Copy en .NET?
¿Por qué podría uno querer usar String.Copy(string)?
La documentación dice que el método
crea una nueva instancia de la cadena con el mismo valor que una cadena especificada.
Dado que las cadenas son inmutables en .NET, no estoy seguro de cuál es la ventaja de utilizar este método, ya que me parece que
string copy = String.Copy(otherString);
haría
a todos los efectos prácticos parecen producir la misma como resultado
string copy = otherString;
es decir, a excepción de lo que sea contabilidad interna que está pasando, y el hecho de que la copia no es ReferenceEquals
a otherString, no hay diferencias observables - cadena ser una clase inmutable cuya igualdad se basa en el valor, no en la identidad. (Gracias a @ Andrew Hare por señalar que mi redacción original no era lo suficientemente precisa para indicar que me di cuenta de que había una diferencia entre Copy
ING y no, pero estaba preocupado por la aparente falta de utilidad diferencia).
Por supuesto, cuando se pasa un argumento null
, Copiar arroja un ArgumentNullException
, y la "nueva instancia" podría consumir más memoria. Esto último no parece ser un beneficio, y no estoy seguro de que el cheque nulo sea una bonificación lo suficientemente grande como para justificar un método completo de Copia.
Gracias.
bien, las preguntas tontas tienen un montón de votos votados ,, – TarunG