省略形のIf文: C# 質問する

省略形のIf文: C# 質問する

ちょっと質問ですが、これを短縮する方法はありますか?

基本的には左か右かの方向を決定します。左は1、右は0です。

C# の場合:

if (column == 0) { direction = 0; }
else if (column == _gridSize - 1) { direction = 1; }
else { direction = rand.Next(2); }

これに続く文は次のようになります。

if (direction == 1)
{
    // do something
}
else
{
    // do something else
}

もしなかったら、それはあまり問題ではありません!ただ興味があるだけです:)

ベストアンサー1

方向を取得するためにショートカットを使用するには:

int direction = column == 0
                ? 0
                : (column == _gridSize - 1 ? 1 : rand.Next(2));

コード全体を簡素化するには:

if (column == gridSize - 1 || rand.Next(2) == 1)
{
}
else
{
}

おすすめ記事