0

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

谢谢。

4

3 回答 3

3

这就是ternary-operator,您可以将这个表达式几乎 1:1 地“翻译”成 C#。是一样的

if(ucvalue)
   return false;
return true;

来自C# 的MSDN

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

condition ? first_expression : second_expression;

这里开始C++:

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

于 2013-08-16T07:07:52.343 回答
2

它相当于:

return ucvalue==0;

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

return Method()==0;
于 2013-08-16T07:13:45.873 回答
1

我认为它的意思是“如果 ucvalue 为 null,则返回 false,否则返回 true”

于 2013-08-16T07:08:48.533 回答