2009-09-29 8 views
9

Duplicar posible:
Checking for string contents? string Length Vs Empty StringEn .NET, ¿cuál es el mejor, mystring.Length == 0 o mystring == string.Empty?

En .NET, lo que es mejor,

if (mystring.Length == 0) 

o

if (mystring == string.Empty) 

Parece que éstos tendrían el mismo efecto , pero cuál sería el mejor beh ind las escenas?

+8

¿Existe una razón funcional que no está haciendo 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 -to-determination-if-an-untrimmed-string-is-empty-i – womp

+0

¡No sabía nada hasta ahora! :-) Woot stackoverflow .... – Matt

Respuesta

42

prefiero

String.IsNullOrEmpty(myString) 

Sólo en caso de que contiene un valor nulo.

+2

String.IsNullOrEmpty (mystring) –

+0

Prefiero 'string.IsNullOrEmpty' porque' string' siempre es un alias correcto para 'System.String' y, por lo tanto, es coherente con los otros" tipos comunes ". (Aunque tener un alcance de 'Cadena 'diferente sería simplemente una tontería.) –

4

La diferencia es tan pequeña que la consideraría insignificante (no se calcula la propiedad de longitud de una cadena, es un valor fijo).

9

Utilice el que más le parezca, lógicamente. La diferencia en el rendimiento no tiene sentido, por lo que la "mejor" opción es la que comprenderá el próximo año cuando vuelva a mirar este código.

Mi preferencia personal es usar:

if(string.IsNullOrEmpty(mystring)) 

prefiero esto, ya que comprueba contra nula, también, que es un problema común.

2

Mientras su cadena no es una referencia nula, entonces no importa realmente, sin embargo, en el caso de que se trata, ni va a funcionar y es posible que desee considerar string.IsNullOrEmpty(mystring);

Cuestiones relacionadas