重複の可能性:
条件付き演算子は暗黙的にキャストできませんか?
条件演算子を使用してステートメントを記述する場合、いずれかの式が数値である場合、それらは常にint
型として解釈されます。short
これにより、この演算子を使用して変数を割り当てるためにキャストが必要になります。
bool isTrue = true;
int intVal = isTrue ? 1 : 2;
short shortVal = isTrue ? 1 : 2; // Compile error: Cannot implicitly convert type 'int' to 'short'.
short
コンパイラーは、典型的な代入ステートメント ( ) の場合と同様に、両方の値が有効な値であることを認識できるべきではありませんshort shortVal = 1;
か?