La méthode correcte dans .NET 4.0 est la suivante :
if (String.IsNullOrWhiteSpace(strSearch))
El String.IsNullOrWhiteSpace
utilisée ci-dessus est équivalente à :
if (strSearch == null || strSearch == String.Empty || strSearch.Trim().Length == 0)
// String.Empty is the same as ""
Référence pour la méthode IsNullOrWhiteSpace
http://msdn.microsoft.com/en-us/library/system.string.isnullorwhitespace.aspx
Indique si une chaîne de caractères spécifiée est Rien, vide ou constituée. uniquement de caractères d'espacement.
Dans les versions antérieures, vous pouviez faire quelque chose comme ceci :
if (String.IsNullOrEmpty(strSearch) || strSearch.Trim().Length == 0)
El String.IsNullOrEmpty
utilisée ci-dessus est équivalente à :
if (strSearch == null || strSearch == String.Empty)
Ce qui signifie que vous devez toujours vérifier votre cas "IsWhiteSpace" avec la fonction .Trim().Length == 0
comme dans l'exemple.
Référence pour la méthode IsNullOrEmpty
http://msdn.microsoft.com/en-us/library/system.string.isnullorempty.aspx
Indique si la chaîne spécifiée est Rien ou une chaîne vide.
Explication :
Vous devez vous assurer strSearch
(ou n'importe quelle variable d'ailleurs) n'est pas null
avant de le déréférencer en utilisant le caractère point ( .
) - c'est-à-dire avant de faire strSearch.SomeMethod()
o strSearch.SomeProperty
vous devez vérifier que strSearch != null
.
Dans votre exemple, vous voulez vous assurer que votre chaîne a une valeur, ce qui signifie que vous voulez assurer la chaîne :
- N'est pas nul
- n'est pas la chaîne vide (
String.Empty
/ ""
)
- N'est pas seulement un espace blanc
Dans les cas ci-dessus, vous devez placer le cas "Is it null ?" en premier, afin qu'il ne continue pas à vérifier les autres cas (et l'erreur) lorsque la chaîne est null
.