返回布尔值
returning Boolean values
我有一段代码要转换为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"
相关文章:
- 在没有定义返回类型的函数中返回布尔值,并将结果保存在无错误的char编译中-为什么
- 重载更少,则运算符返回相反的布尔值
- 如何使用返回布尔值的函数?
- 函数的返回值类型是别名 ***或 *** 布尔值
- 如何将值初始化为返回类型为布尔值的函数?
- 返回布尔值在 cocos2dx 的 onTouchBegan() 中是什么意思?
- 在开关情况下返回布尔值
- 将返回表达式隐式转换为布尔值
- 让二传手返回布尔值是好习惯吗?
- 从 lambda 表达式返回布尔值时出错
- 计算 <Classtype*> 向量中所有项的布尔值的最有效方法,如果全部为真则返回 true
- 使用布尔值稍后返回还是调用函数并立即返回更快?C++
- 在 if 语句中返回布尔值的 lambda 表达式
- 出于某种原因,布尔值返回 false
- Windows HANDLE RAII 管理,如果返回布尔值而不是句柄怎么办?
- C - 布尔值返回值,然后验证它
- 移动后是否应该 std::function::运算符布尔值返回 false
- C++字符串比较返回0,但布尔值返回false
- 布尔值返回两次有问题(Arduino)
- 将布尔值返回到主函数