// Example bool is true
bool t = true;
// Convert bool to int
int i = t ? 1 : 0;
Console.WriteLine(i); // 1
这会将 false 转换为 0,将 true 转换为 1,有人可以向我解释一下 t 是怎么回事吗?1 : 0 有效吗?
// Example bool is true
bool t = true;
// Convert bool to int
int i = t ? 1 : 0;
Console.WriteLine(i); // 1
这会将 false 转换为 0,将 true 转换为 1,有人可以向我解释一下 t 是怎么回事吗?1 : 0 有效吗?
查看三元运算符。
int i = t ? 1 : 0;
等于:
if(t)
{
i = 1;
}
else
{
i = 0;
}
这种语法可以在多种语言中找到,甚至是 javascript。
如果你把冒号换成“否则”,可以把它想象成一个英文句子:
bool isItRaining = false;
int layersOfClothing = isItRaining? 2 otherwise 1;
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。
如果 t 等于 true 则 i=1 否则 i=0
bool t= true;
int i;
if(t)
{
i=1;
}
else
{
i=0;
}
欲了解更多信息?:操作员
(? *) 这是条件运算符。
条件运算符 (?:) 根据布尔表达式的值返回两个值之一。条件运算符的形式为
健康)状况 ?第一个表达式:第二个表达式;
在你的情况下(true?1:0),因为条件为真,这肯定是将 i 的值设置为 1。
我相信在内部编译器会将语句内联为等效于:
Console.WriteLine(Convert.ToInt32(t));
此 Convert.x 方法检查传递的参数是否为 true,否则返回 0。