5
// Example bool is true
bool t = true;

// Convert bool to int
int i = t ? 1 : 0;
Console.WriteLine(i); // 1

これは false を 0 に、 true を 1 に変換します。1 : 0 は動作しますか?

4

6 に答える 6

12

三項演算子を見てください。

int i = t ? 1 : 0;

以下に等しい:

if(t)
{
    i = 1;
}
else
{
    i = 0;
}

この構文は、javascript を含め、さまざまな言語で使用できます。

コロンを「otherwise」に置き換えると、英文のように考えてください。

bool isItRaining = false;
int layersOfClothing = isItRaining? 2 otherwise 1;
于 2010-09-07T09:21:29.717 に答える
4

C#の条件演算子です。

i = does t == true? if yes, then assign 1, otherwise assign 0.

次のように書くこともできます。

if (t == true)
   t = 1;
else 
   t = 0;

また

if (t)
  t = 1;
else
  t = 0;

t は true であるため、1 が出力されます。

于 2010-09-07T09:21:47.880 に答える
3

(? *) これは条件演算子です。

条件演算子 (?:) は、ブール式の値に応じて 2 つの値のいずれかを返します。条件演算子の形式は次のとおりです。

調子 ?first_expression : second_expression;

ここでは (true?1:0 ) 条件が true であるため、これは確かに i の値を 1 に設定しています。

于 2010-09-07T09:25:07.447 に答える
3
bool t= true;
int i;

if(t) 
{
 i=1;
}
else
{
 i=0;
}

詳しくは?:演算子

于 2010-09-07T09:23:05.953 に答える
3

t が true の場合 i=1 でなければ i=0

三項演算子

于 2010-09-07T09:21:28.717 に答える
0

内部的には、コンパイラはステートメントを次のようにインライン化すると思います。

Console.WriteLine(Convert.ToInt32(t));

この Convert.x メソッドは、渡されたパラメーターが true かどうかを確認し、そうでない場合は 0 を返します。

于 2010-09-07T09:29:40.297 に答える