返回布尔值

时间:2013-08-16 07:05:49

标签: c# c++ boolean

我有一段代码要转换为c#。

bool checkvalue()
{
unsigned char ucvalue;
Method(&ucvalue);
return ucvalue? false:true;
}

Method()有定义:

This function returns the current position . 0 = OFF 1 = ON

所以我没有得到return ucvalue? false:true;的含义。

感谢。

3 个答案:

答案 0 :(得分:3)

这是ternary-operator,你可以将这个表达式几乎1:1“翻译”到C#。和

一样
if(ucvalue)
   return false;
return true;

来自MSDN的C#:

  

条件运算符(?:)根据布尔表达式的值返回两个值中的一个。以下是条件运算符的语法。

condition ? first_expression : second_expression;

来自here的C ++:

  

您可以为单个运算符交换简单的if-else代码 - 条件运算符。条件运算符是唯一的C ++三元运算符(处理三个值)。您见过的其他运算符称为二元运算符(处理两个值)。

答案 1 :(得分:2)

相当于:

return ucvalue==0;

我发现最有吸引力的形式。我可能会更改Method(),以便它返回值而不是参数。这将使代码更简单:

return Method()==0;

答案 2 :(得分:1)

我认为这意味着“如果ucvalue为null,则返回false,否则返回true”