La meilleure pratique consiste à choisir la plus appropriée.
Le .Net Framework 4.0 Beta 2 comporte une nouvelle méthode IsNullOrWhiteSpace() pour les chaînes de caractères. chaînes de caractères, qui généralise la méthode IsNullOrEmpty() afin d'inclure d'autres espaces blancs en plus des espace blanc en plus de la chaîne vide.
Le terme "espace blanc" comprend tous les caractères qui ne sont pas visibles à l'écran. l'écran. Par exemple, l'espace, le saut de ligne, la tabulation et la chaîne vide sont des caractères d'espace blanc*. caractères d'espace blanc*. .
Référence : Ici
Pour les performances, IsNullOrWhiteSpace n'est pas idéal mais est bon. Les appels de méthode entraîneront une légère pénalité de performance. De plus, la méthode IsWhiteSpace elle-même comporte des indirections qui peuvent être supprimées si vous n'utilisez pas de données Unicode. Comme toujours, l'optimisation prématurée prématurée peut être maléfique, mais elle est aussi amusante.
Référence : Ici
Vérifier le code source (Source de référence .NET Framework 4.6.2)
IsNullorEmpty
[Pure]
public static bool IsNullOrEmpty(String value) {
return (value == null || value.Length == 0);
}
IsNullOrWhiteSpace
[Pure]
public static bool IsNullOrWhiteSpace(String value) {
if (value == null) return true;
for(int i = 0; i < value.Length; i++) {
if(!Char.IsWhiteSpace(value[i])) return false;
}
return true;
}
Exemples
string nullString = null;
string emptyString = "";
string whitespaceString = " ";
string nonEmptyString = "abc123";
bool result;
result = String.IsNullOrEmpty(nullString); // true
result = String.IsNullOrEmpty(emptyString); // true
result = String.IsNullOrEmpty(whitespaceString); // false
result = String.IsNullOrEmpty(nonEmptyString); // false
result = String.IsNullOrWhiteSpace(nullString); // true
result = String.IsNullOrWhiteSpace(emptyString); // true
result = String.IsNullOrWhiteSpace(whitespaceString); // true
result = String.IsNullOrWhiteSpace(nonEmptyString); // false