9
votes

Est-ce que ToString () produit une nouvelle chaîne lorsqu'elle est utilisée sur les chaînes?

fait "hello" .tostring () produire une nouvelle chaîne ou est-il suffisamment intelligent pour renvoyer une référence au même objet?


0 commentaires

3 Réponses :


11
votes

Pour répondre à votre question dans le titre: Non.

Selon le réflecteur .NET, appeler .tostring () ou .tostring (iformatProvider) sur un String Il se retourne simplement. < / p>


2 commentaires

Aussi selon MSDN : "Retourne cette instance de chaîne; pas réel la conversion est effectuée. "


@NullUSeException - merci. Je ne savais pas que c'était réellement dans la documentation.



0
votes

Il est assez intelligent (au moins en mono ): xxx


0 commentaires

2
votes

Vous pouvez tester cette hypothèse avec une affirmation simple: xxx

car les chaînes sont immuables dans .NET, la mise en œuvre sensique de string.tostring () La mise en œuvre est pour retourner une référence à elle-même.


0 commentaires