C#では、私はリターンコードを短縮しようとしています。私がやりたいことは私もいくつかの問題を抱えていそれからElseの略語が代入なしで動作しない場合
condition ? return here:return there;
または
condition ?? return here;
のようなもので、コンパイラは、式が有効ではありませんと言います。次に例を示します。
int i = 1;
int a = 2;
i < a ? i++ : a++;
これは無効です。ただし、
int i = 1;
int a = 2;
int s = i < a ? i++ : a++;
が有効です。この簡略表記を使用する課題がありますか?私は、現時点ではこれを使って考えることができる唯一の方法は次のとおりです。
int acceptReturn = boolCondition ? return toThisPlace() : 0 ;
私は実際にそのコード行たいもっと見えるように:
有効ではありませんが、私は何であるboolCondition ? return toThisPlace():;
後に。
賢明ではありません。巧妙なコードは悪いコードです。ここでは探偵小説や論理パズルの本を書いているわけではありません。 *正しい*と*理解しやすい*ときコードは貴重です。より具体的には、*制御フロー*の*計算*および*文*の*式を使用します。あなたはコントロールフローのための式を使用しようとしていますが、それはツールのデザインではなく、それに対して働いています。 –
@EricLippert - 私は、すべてのコードが賢明であるという条件を前提に、C#で書かれたアクション/アドベンチャー小説に取り組んでいます。ページ1: 'IScene OpeningScene = new PanoramicScene(); OpeningScene.panToAction(); 'それは"暗闇の中での私のC# "と呼ばれ、狼男の特徴です。しかし、ポイントに戻って、チップのおかげで。私はそれを念頭に置いておきます。 –
私はその本を読むだろう! –