8

ここでの質問は私に質問を投げかけました:

C# の三項演算 (たとえば) では、 orx = y ? a : bのいずれかの型を使用してab三項式の型を決定します。の型を使用しないのはなぜxですか? どのような状況でも、使用できる期待される戻り値の型はありませんか?

編集:明確にするために、私が言うとき

の型を使用しないのはなぜxですか?

私は私が意味すると思います

最初に の型を使用しようとしないのはなぜxですか?

ドキュメントに記載されているように:

  • X と Y が同じ型の場合、これは条件式の型です。
  • それ以外の場合、X から Y への暗黙の変換 (セクション 6.1) が存在するが、Y から X への変換は存在しない場合、Y は条件式の型です。
  • それ以外の場合、Y から X への暗黙の変換 (セクション 6.1) が存在するが、X から Y への変換は存在しない場合、X は条件式の型です。
  • そうしないと、式の型を判別できず、コンパイル エラーが発生します。

このプロセスは次のように開始できますか:

  • 解決タイプが明確な場合、それは条件式のタイプです。
4

1 に答える 1