0

以下は私のコードです:

コード 1:

int x = 10;

if (x < 10)
{
    if (x < 5)
    {
        MessageBox.Show("less than 5");
    }
    else
    {
        MessageBox.Show("value is between 5 and 10");
    }
}
else
{
    MessageBox.Show("grater than 10");
}

コード 2:

int x = 10;

if (x > 5 && x < 10)
{
    MessageBox.Show("Value is between 5 and 10");
}
else if (x < 5)
{
    MessageBox.Show("less than 5");
}                
else
{
    MessageBox.Show("grater than 10");
}

インライン if 条件を使用してこのコードを記述するにはどうすればよいですか。

4

4 に答える 4

3
int x=10;

MessageBox.Show( 
  x < 10 ? ( x < 5 ? "less than 5" : "between 5 and 10" ) : "greater than 10" 
);

複雑な 3 項ステートメントは使用しないことをお勧めしますが、非常に混乱する可能性があります。

また、greater than 10実際にはgreater than or equal to 10...

于 2013-05-28T11:32:18.233 に答える
0

このウィキペディアの記事を参照してください

String message = (x > 10 ? "Greater than 10" : (x < 5 ? "Less than 5" : "Value is between 5 and 10"))

于 2013-05-28T11:32:09.157 に答える
0

これは、三項演算子と呼ばれます。var = <condition> ? <value-if-true> : <value-if-false>

次のようにコードを変更できます。

int x = 10;
MessageBox.Show(x < 10 ? (x < 5 ? "less than 5" : "value is between 5 and 10") : "grater than 10")

ブラケットは読みやすくするのに最適ですが、不要です。非常に短い表現でのみこれを使用すると、物事を読みやすく保つのにさらに適しています。

于 2013-05-28T11:34:18.330 に答える