Que dois-je utiliser pour comparer DBNull? En utilisant DBNull.Value ou ToString (). IsNullOrEmpty ()
Je peux vérifier pour un DBnull
sur une ligne de données à l'aide des méthodes.
Soit en utilisant
if(dr[0][0]==DBNull.Value)
//do somethin
ou en faisant
if(dr[0][0].ToString().IsNullOrEmpty())
//do something
Dans les Deux Cas, je vais obtenir le même résultat.
Mais Qui est conecptually bonne approche. Qui avait de la volonté d'utiliser moins de ressources
source d'informationauteur Shantanu Gupta
Vous devez vous connecter pour publier un commentaire.
La première manière est un peu correct.
Cependant, de plus en plus accepté est:
Et la deuxième manière est certainement incorrecte. Si vous utilisez la deuxième façon, vous obtiendrez vrai dans les deux cas:
Le plan conceptuel de la comparaison de
DBNull.Value
est la bonne.Vous pouvez également utiliser :
Vous pouvez également utiliser, dont je ne suis pas un fan de, simplement parce que c'est un type de comparaison plutôt que d'une comparaison de la valeur:
Est toujours utiliser :
En supposant que les créateurs de cette fonction savons que le meilleur moyen le plus efficace de comparaison..
La façon la plus simple
est parfaitement valide et lisible.
Même si
==
compare les références, cela fonctionne ici, carDBNUll.Value
est la seule instance deDBNull
de la classe - de sorte que tousDBNull
les valeurs sont en fait cette référence exacte.