Rules for the conditional statement: (C # Spec 7.14):
• If x has type X and y has type Y then
o If an implicit conversion (§6.1) exists from X to Y, but not from Y to X, then Y is the type of the conditional expression.
o If an implicit conversion (§6.1) exists from Y to X, but not from X to Y, then X is the type of the conditional expression.
o Otherwise, no expression type can be determined, and a compile-time error occurs.
In general, there is no implicit conversion in any direction between enums and ints.
, ? 0, 1. , , (# Spec 6.1.3):
- , ...