web-dev-qa-db-fra.com

Comment déterminer si la référence d'objet est nulle?

Quelle est la meilleure façon de déterminer si une variable de référence d'objet est null?

Est-ce la suivante?

MyObject myObjVar = null;
if (myObjVar == null)
{
    // do stuff
}
14
CJ7

Oui, vous avez raison, l'extrait de code suivant est le chemin à parcourir si vous souhaitez exécuter du code arbitraire:

MyObject myObjVar; 
if (myObjVar == null) 
{ 
    // do stuff 
} 

BTW: Votre code ne compilerait pas tel qu'il est maintenant, car myObjVar est accessible avant son initialisation.

10
Daniel Hilgarth

La façon dont vous faites est la meilleure façon

if (myObjVar == null)
{
    // do stuff
}

mais vous pouvez utiliser opérateur de coalescence nulle?? pour vérifier, ainsi que attribuer quelque chose

var obj  = myObjVar ?? new MyObject();
7
Habib

Vous pouvez utiliser Object.ReferenceEquals

if (Object.ReferenceEquals(null, myObjVar)) 
{
   ....... 
} 

Cela retournerait vrai, si myObjVar est nul.

7
smhnkmr

vous pouvez:

MyObject myObjVar = MethodThatMayOrMayNotReturnNull();
if (if (Object.ReferenceEquals(null, myObjVar)) 
{
    // do stuff
}
3
Habib Zare