数式と条件ステートメント、および switch ステートメントを含む式を実行する必要があります。私が試したのはこれです:
20 + 10 + (if (20 > 10){ return 0.2; } else { return 0.1; }) //+ switch case
これで、コンパイラはこの式に対してコンパイル エラーをスローします。なぜ、どうすれば動作するように修正できますか?
数式と条件ステートメント、および switch ステートメントを含む式を実行する必要があります。私が試したのはこれです:
20 + 10 + (if (20 > 10){ return 0.2; } else { return 0.1; }) //+ switch case
これで、コンパイラはこの式に対してコンパイル エラーをスローします。なぜ、どうすれば動作するように修正できますか?
使用しif
たい場合は、次のように式を変更できます。
20 + 10 + ((Func<double>) (() => { if (20 > 10){ return 0.2; } else { return 0.1; }}))();
しかし、それは本当に混乱します。?
@Murkaeusが言ったように、演算子を使用することをお勧めします。
Why:if .. else ..
はステートメントであり、式ではありません。
方法:?
演算子を使用します。
20+10+(20>10)?0.2:0.1+(case_condtion_1)?case_value_1:((case_condtion_2)?case_value_2:(...))