2009-09-29 3 views
9

Possible en double:
Checking for string contents? string Length Vs Empty StringEn. NET, qui est le meilleur, mystring.Length == 0 ou mystring == string.Empty?

Dans .NET, qui est le mieux,

if (mystring.Length == 0) 

ou

if (mystring == string.Empty) 

Il semble que ceux-ci auraient le même effet , mais qui serait le meilleur Ind les scènes?

+8

Y at-il une raison fonctionnelle vous ne fais pas String.IsNullOrEmpty (mystring)? – JustLoren

+0

http://stackoverflow.com/questions/151472/what-is-the-difference-between-string-empty-and, http://stackoverflow.com/questions/810442/whats-the-most-efficient-way -t-déterminer-si-une-chaîne-non-limitée-est-vide-je – womp

+0

Je ne savais pas à ce sujet jusqu'à maintenant! :-) Woot stackoverflow .... – Matt

Répondre

42

Je préfère

String.IsNullOrEmpty(myString) 

Juste au cas où il contient une valeur nulle.

+2

String.IsNullOrEmpty (mystring) –

+0

Je préfère 'string.IsNullOrEmpty' car' string' est toujours un alias correct pour 'System.String' et est donc cohérent avec les autres 'types communs'. (Bien qu'ayant un 'String' différent dans la portée serait juste bête.) –

4

La différence est si petite que je la considérerais insignifiante (la propriété de longueur sur une chaîne n'est pas calculée - c'est une valeur fixe).

9

Utilisez celui qui vous semble le plus logique, logiquement. La différence de performance est dénuée de sens, donc la meilleure option est celle que vous comprendrez l'année prochaine lorsque vous regarderez ce code.

Ma préférence personnelle est d'utiliser:

if(string.IsNullOrEmpty(mystring)) 

Je préfère cela, car il vérifie contre nul, aussi, ce qui est un problème commun.

2

Tant que votre chaîne n'est pas une référence nulle alors il n'a pas vraiment d'importance, mais dans le cas où il est, ni ne fonctionnera et vous pouvez envisager string.IsNullOrEmpty(mystring);

Questions connexes