返回布尔值

本文关键字:布尔值 返回 | 更新日期: 2023-09-27 18:27:57

我有一段代码要转换为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;的意思。

谢谢。

返回布尔值

这是ternary-operator,你可以将这个表达式几乎1:1"翻译"成C#。它和一样

if(ucvalue)
   return false;
return true;

来自MSDN的C#:

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

condition ? first_expression : second_expression;

从这里开始C++:

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

它相当于:

return ucvalue==0;

我觉得这是最有吸引力的形式。我可能会更改Method(),使其返回值,而不是接受参数。这将使代码更简单:

return Method()==0;

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