131 votes

String.Empty versus ""

Dupliquer possible:
Quelle est la différence entre String.Empty et “”

En quoi String.Empty différent de "" ?

108voto

Michael Myers Points 82361

Ce n'est pas différent

http://msdn.microsoft.com/en-us/library/system.string.empty.aspx :

La valeur de ce champ est la chaîne de longueur zéro, "".

Dans le code d'application, ce champ est le plus couramment utilisé dans les affectations pour initialiser une variable de chaîne en une chaîne vide. Pour vérifier si la valeur d'une chaîne est String.Empty, utilisez la méthode IsNullOrEmpty.

102voto

Andy West Points 7110

Selon Brad Abrams:

Comme David l'indique, il y de différence entre la Chaîne.Vide et "" sont assez petite, mais il y a une différence. "" crée en fait un objet, c' susceptible d'être sorti de la chaîne de stagiaire de la piscine, mais quand même... alors que Chaîne de caractères.Vide crée pas d'objet... donc si vous êtes vraiment à la recherche pour en fin de compte dans la mémoire de l'efficacité, je suggère Chaîne de caractères.Vide. Cependant, vous devez gardez à l'esprit la différence est tellement trival vous comme jamais le voir dans votre code...

Comme pour le Système.Chaîne de caractères.Vide ou chaîne de caractères.Vide ou Chaîne.Vide... mes soins le niveau est faible ;-)

13voto

jamone Points 6458

Pour la plupart, String.Empty is identical to "" mais je trouve généralement plus facile de l'utiliser String.IsNullOrEmpty(str) plutôt que d'avoir à comparer str == "" || str == null aussi si vous utilisez .NET 4.0 String.IsNullOrWhiteSpace(str) couvre encore plus de cas et est de loin le meilleur.

13voto

Josh Stodola Points 42410

Il n'y a pas de différence. Certains préfèrent utiliser String.Empty à des fins de lisibilité du code. Utilisez celui avec lequel vous êtes à l'aise.

2voto

Marks Points 1369

J'ai entendu parler de rumeurs selon lesquelles String.Empty serait le même objet tout le temps, alors que "" est un nouvel objet à chaque occasion, mais je ne sais pas exactement s'il est correct.

La principale raison de String.Empty est la lisibilité.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X