Je crains que ce ne soit une question très bête, mais quelque chose doit m'échapper.
Pourquoi voudrait-on utiliser String.Copy(string) ?
La documentation indique que la méthode
Crée une nouvelle instance de String avec la même valeur que la chaîne spécifiée.
Puisque les chaînes sont immuables dans .NET, je ne suis pas sûr de l'avantage d'utiliser cette méthode, car je pensais que
string copy = String.Copy(otherString);
semblerait, à toutes fins pratiques, donner le même résultat que
string copy = otherString;
C'est-à-dire, à l'exception de la comptabilité interne qui se passe, et le fait que la copie n'est pas ReferenceEquals
à otherString, il n'y a pas de différences observables - String étant une classe immuable dont l'égalité est basée sur la valeur et non sur l'identité. (Merci à @Andrew Hare d'avoir signalé que ma formulation originale n'était pas assez précise pour indiquer que je réalisais qu'il y avait une différence entre Copy
et non, mais s'inquiétait de la perception d'un manque d'engagement de la part de l'UE. utile différence.)
Bien sûr, lorsque l'on passe un null
la copie envoie un ArgumentNullException
et la "nouvelle instance" pourrait consommer plus de mémoire. Ce dernier point ne semble pas être un avantage, et je ne suis pas sûr que la vérification de la nullité soit un bonus suffisamment important pour justifier une méthode Copy entière.
Merci.
1 votes
Les questions idiotes ont beaucoup de votes,