bool? ispurchased = null;
var pospurcahsed= ispurchased ? \"1\":\"2\";
Its generating exception .
Cannot implicitly con
This is not allows because it is unclear what null means in the context of a conditional.
Nullable Booleans
can be cast to a bool
explicitly in order to be used in a conditional, but if the object has a value if null, InvalidOperationException
will be thrown.
It is therefore important to check the HasValue property before casting to bool
.
Use like
var pospurcahsed= (ispurchased.HasValue && ispurchased.Value) ?......
Nullable Booleans are similar to the Boolean variable type used in SQL. To ensure that the results produced by the & and | operators are consistent with SQL's three-valued Boolean type, the following predefined operators are provided:
bool? operator &(bool? x, bool? y)
bool? operator |(bool? x, bool? y)
or you can use martin
suggestion GetValueOrDefault
[Thanks to martin to pointing it out ]
The GetValueOrDefault method returns a value even if the HasValue
property is false (unlike the Value property, which throws an exception).