145 votes

Convertir un bool nullable ? booler

Comment convertir un bool? nullable en bool en C# ?

J'ai essayé x.Value ou x.HasValue ...

247voto

Ken Pespisa Points 14935

Vous devez finalement décider ce que le booléen nul représentera. Si null doit être false , vous pouvez le faire :

 bool newBool = x.HasValue ? x.Value : false;

Ou alors:

 bool newBool = x.HasValue && x.Value;

Ou alors:

 bool newBool = x ?? false;

115voto

SLaks Points 391154

Vous pouvez utiliser l' opérateur de fusion nulle : x ?? something , où something est une valeur booléenne que vous souhaitez utiliser si x est null .

Exemple:

 bool? myBool = null;
bool newBool = myBool ?? false;

newBool sera faux.

90voto

Joel Briggs Points 633

Vous pouvez utiliser la méthode Nullable{T} GetValueOrDefault() Cela retournera false si null.

  bool? nullableBool = null;

 bool actualBool = nullableBool.GetValueOrDefault();

6voto

JaredPar Points 333733

Le moyen le plus simple est d'utiliser l'opérateur de coalescence nul : ??

 bool? x = ...;
if (x ?? true) { 

}

Le ?? avec des valeurs nullables fonctionne en examinant l'expression nullable fournie. Si l'expression nullable a une valeur, sa valeur sera utilisée sinon elle utilisera l'expression à droite de ??

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X