0

数式と条件ステートメント、および switch ステートメントを含む式を実行する必要があります。私が試したのはこれです:

20 + 10 + (if (20 > 10){ return 0.2; } else { return 0.1; }) //+ switch case

これで、コンパイラはこの式に対してコンパイル エラーをスローします。なぜ、どうすれば動作するように修正できますか?

4

3 に答える 3

2

「?」を探しています。インライン「if/else」の演算子。

インライン switch ステートメントについては、Dictionary代わりに static を使用することをお勧めします。

だからあなたのライン

20 + 10 +(if(20>10){ return 0.2} else{ 0.1 }) + switch case

なる

20 + 10 + (20 > 10 ? 0.2 : 0.1) + _switchDictionary[switchKey]
于 2013-05-19T16:43:40.177 に答える
1

使用しifたい場合は、次のように式を変更できます。

20 + 10 + ((Func<double>) (() => { if (20 > 10){ return 0.2; } else { return 0.1; }}))();

しかし、それは本当に混乱します。?@Murkaeusが言ったように、演算子を使用することをお勧めします。

于 2013-05-19T17:04:51.590 に答える
1

Why:if .. else ..はステートメントであり、式ではありません。

方法:?演算子を使用します。

20+10+(20>10)?0.2:0.1+(case_condtion_1)?case_value_1:((case_condtion_2)?case_value_2:(...))
于 2013-05-19T16:31:29.550 に答える