[C#] Imbriqué si déclarations ou non


Answers

Vous pouvez vérifier la valeur réelle même si elle est nulle:

bool? val = null;
if( val == true ) // Works
{
  //do something
}
Question

J'espère que cela n'a pas été demandé auparavant.

J'ai un booléen Nullable appelé boolIsAllowed et une condition if si:

if(boolIsAllowed.HasValue && boolIsAllowed.Value)
{
 //do something
}

Ma question est ce bon code ou serais-je mieux de le séparer en une instruction imbriquée? La seconde condition sera-t-elle vérifiée si boolIsAllowed.HasValue est égal à false, puis lancera une exception?

J'espère que cette question n'est pas trop bête.

Merci d'avance.




Le second opérande n'est évalué que si le premier opérande est vrai. Il n'est pas nécessaire d'imbriquer les instructions if .




Plus généralement, si vous avez plusieurs conditions dans votre instruction if, envisagez de les extraire dans une méthode. Ce n'est pas vraiment nécessaire dans ce cas précis comme l'ont montré certaines des autres réponses. Mais cela peut être beaucoup plus simple dans des cas plus complexes. Préférez-vous maintenir:

if (taxApplied && taxValue > minimumTax && customerIsPreferred)
{
  // Do something
}

ou

if (CustomerGetsTaxRebate())
{
  // Do Something
}



Links