La forma correcta en .NET 4.0 es:
if (String.IsNullOrWhiteSpace(strSearch))
El método String.IsNullOrWhiteSpace
usado anteriormente es equivalente a:
if (strSearch == null || strSearch == String.Empty || strSearch.Trim().Length == 0)
// String.Empty is the same as ""
de referencia para el método IsNullOrWhiteSpace
http://msdn.microsoft.com/en-us/library/system.string.isnullorwhitespace.aspx
Indica si una cadena especificada es Nothing, empty o consiste en solo de espacios en blanco.
En versiones anteriores, se puede hacer algo como esto:
if (String.IsNullOrEmpty(strSearch) || strSearch.Trim().Length == 0)
El método String.IsNullOrEmpty
utilizado anterior es equivalente a:
if (strSearch == null || strSearch == String.Empty)
Lo que significa que todavía tiene que comprobar si hay su caso "IsWhiteSpace" con el .Trim().Length == 0
según el ejemplo.
de referencia para el método IsNullOrEmpty
http://msdn.microsoft.com/en-us/library/system.string.isnullorempty.aspx
Indica si la cadena especificada es nada o es una cadena vacía.
Explicación:
Usted necesita asegurarse de strSearch
(o cualquier variable para el caso) no es null
antes de eliminar la referencia mediante el carácter de punto (.
) - es decir, antes de hacer strSearch.SomeMethod()
o strSearch.SomeProperty
se necesita verificar que strSearch != null
.
En el ejemplo, usted quiere asegurarse de que su cadena tiene un valor, lo que significa que quiere asegurarse de la cadena:
- no es nulo
- no es la cadena vacía (
String.Empty
/""
)
- no es sólo un espacio en blanco
En los casos anteriores, se debe poner el "¿es nula?" caso primero, por lo que no comprueba los otros casos (y error) cuando la cadena es null
.
agregar caso if (strSearch! = Null)? – ToddBFisher
el error indica que un objeto es nulo. O strSearch es nulo o el resultado de strSearch.Trim() es nulo. Para verificar, usa la respuesta de Graphain usando IsNullOrWhitespace. – Russell