web-dev-qa-db-fra.com

Une zone de texte vide est-elle considérée comme une chaîne vide ou nulle?

La zone de texte en question est impliquée dans une instruction if dans mon code, quelque chose comme

if (textbox.text != "") 
{
    do this
}

Je suis curieux de savoir si une zone de texte vide sera considérée comme une chaîne vide ou une déclaration nulle.

14
Rex_C

Essayez d'utiliser IsNullOrWhiteSpace, cela vous assurera de valider aussi les espaces sans avoir à les couper.

if (!string.IsNullOrWhiteSpace(textbox.Text))
{
    //code here
}

Selon la documentation string.IsNullOrWhiteSpace correspond à:

return String.IsNullOrEmpty(value) || value.Trim().Length == 0;

String.IsNullOrWhiteSpace :

Indique si une chaîne spécifiée est nulle, vide ou se compose uniquement de caractères d'espacement.

27
PSL

En bref, ce sera une chaîne vide, mais vous pouvez utiliser le débogueur et vérifier cela vous-même.

Cependant, pour les meilleures pratiques, utilisez IsNullOrEmpty ou IsNullOrWhiteSpace

if (!string.IsNullOrEmpty(textbox.Text)) {

}

Alternativement:

if (!string.IsNullOrWhiteSpace(textbox.Text)) {

}    

http://msdn.Microsoft.com/en-us/library/system.string.isnullorwhitespace.aspx

4
Darren

Ce sera une chaîne vide mais mieux vérifier avec ceci IsNullOrEmpty ou IsNullOrWhiteSpace

if (!string.IsNullOrEmpty(textbox.text))
{
  //do this
}

IsNullOrWhiteSpace s'occupe également des espaces dans la chaîne d'entrée. Donc, si vous ne voulez pas non plus exécuter le code pour les espaces, utilisez la deuxième option.

3
Sachin

Il sera considéré comme une chaîne vide.

2
DCNYAM