ここでの質問は私に質問を投げかけました:
C# の三項演算 (たとえば) では、 orx = y ? a : b
のいずれかの型を使用してa
、b
三項式の型を決定します。の型を使用しないのはなぜx
ですか? どのような状況でも、使用できる期待される戻り値の型はありませんか?
編集:明確にするために、私が言うとき
の型を使用しないのはなぜ
x
ですか?
私は私が意味すると思います
最初に の型を使用しようとしないのはなぜ
x
ですか?
ドキュメントに記載されているように:
- X と Y が同じ型の場合、これは条件式の型です。
- それ以外の場合、X から Y への暗黙の変換 (セクション 6.1) が存在するが、Y から X への変換は存在しない場合、Y は条件式の型です。
- それ以外の場合、Y から X への暗黙の変換 (セクション 6.1) が存在するが、X から Y への変換は存在しない場合、X は条件式の型です。
- そうしないと、式の型を判別できず、コンパイル エラーが発生します。
このプロセスは次のように開始できますか:
- 解決タイプが明確な場合、それは条件式のタイプです。