【问题标题】:returning Boolean values返回布尔值
【发布时间】:2013-08-18 12:37:44
【问题描述】:

我有一段代码要转换成 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; 是什么意思。

谢谢。

【问题讨论】:

标签: c# c++ boolean


【解决方案1】:

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

if(ucvalue)
   return false;
return true;

来自MSDN 对于 C#:

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

condition ? first_expression : second_expression;

来自here 对于 C++:

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

【讨论】:

  • 这种情况有什么意义吗?
  • 对不起,你什么意思?
  • return ucvalue? false:true;
  • 我只是假设您问我,这是否常见使用三元运算符?嗯,有些时候,你想使用它。主要是,如果你想在一行中表达if/else,或者你只需​​要一个简单的if/else-statement。
【解决方案2】:

相当于:

return ucvalue==0;

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

return Method()==0;

【讨论】:

    【解决方案3】:

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

    【讨论】:

    • 错了。这意味着if ucvalue is NOT null, return false, else return true
    • 好像不能减去自己 8)
    猜你喜欢
    • 2011-12-14
    • 2020-07-29
    • 2014-12-13
    • 1970-01-01
    • 1970-01-01
    • 2018-01-24
    • 1970-01-01
    • 2012-05-10
    • 2018-08-22
    相关资源
    最近更新 更多