// Example bool is true
bool t = true;
// Convert bool to int
int i = t ? 1 : 0;
Console.WriteLine(i); // 1
這將假轉換爲0和真到1,有人可以向我解釋如何t? 1:0有效?c#有人可以解釋這個布爾邏輯
// Example bool is true
bool t = true;
// Convert bool to int
int i = t ? 1 : 0;
Console.WriteLine(i); // 1
這將假轉換爲0和真到1,有人可以向我解釋如何t? 1:0有效?c#有人可以解釋這個布爾邏輯
int i = t ? 1 : 0;
等同於:
if(t)
{
i = 1;
}
else
{
i = 0;
}
這句法可以在不同的語言,甚至和JavaScript被發現。
你可以把它像一個英語句子如果換成冒號爲 「否則」:
bool isItRaining = false;
int layersOfClothing = isItRaining? 2 otherwise 1;
如果噸equels真,則I = 1,否則I = 0
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是真實的,它打印1.
bool t= true;
int i;
if(t)
{
i=1;
}
else
{
i=0;
}
更多的外觀?:操作
(? *)這是條件運算符。
條件運算符(?:)根據布爾表達式的值返回兩個值中的一個。條件運算符的形式爲
條件? first_expression:second_expression;
在這裏,你的情況下(真?1:0),因爲條件爲真,這肯定是我設置的值設置爲1
我認爲,內部編譯器將內聯語句相當於:
Console.WriteLine(Convert.ToInt32(t));
此Convert.x方法檢查傳遞的參數是否爲true,如果不是,則返回0。
http://en.wikipedia.org/wiki/Ternary_operation – 2010-09-07 09:21:47