【问题标题】:What does the following convention means: bool isRight = (direction== "right")以下约定是什么意思: bool isRight = (direction== "right")
【发布时间】:2017-09-28 08:46:47
【问题描述】:

我在网上搜索过,但没有找到以下代码约定(尤其是 C#)的正确答案?

bool isRight = (direction == "right")

当您有“=”和另外两个“==”时,这意味着什么?我知道这是编写一些操作的捷径。 谢谢

【问题讨论】:

  • 左边的=bool的赋值运算符,右边的==是两个字符串值之间的比较运算符。阅读有关赋值和比较的 C# 语言规范。
  • 比较结果的简单赋值。
  • @TetsuyaYamamoto - 我不确定什么,具体来说,OP 实际上是在这里。但如果他们对赋值和比较感到困惑,我怀疑 C# 语言规范是他们消除困惑所需的地方。

标签: c# conventions


【解决方案1】:

括号(direction == "right") 中的位计算为布尔表达式。这意味着这部分是根据自己的权利进行解析的,并产生真/假结果。

== 运算符检查左右两边是否相等,所以如果direction 变量的值等于"right",那么该值将为真。

= 运算符用于赋值,之前的布尔值被赋值给 isRight 变量。

【讨论】:

    【解决方案2】:

    这是一个简写

    bool isRight = false;
    
    if (direction == "right")
    {
        isRight = true; // Change value
    }
    

    【讨论】:

      【解决方案3】:

      (direction == "right") 仅返回一个布尔值,指示条件是真还是假,然后您只需使用该返回值并使用 = 运算符将其分配给布尔变量。

      结论-

      == 用于平等检查

      = 用于分配

      【讨论】:

        【解决方案4】:

        = 称为assignment operator。它用于将表达式右侧的值分配到左侧。

        == 称为equality operator。它用于比较运算符两侧的对象

        当你有“=”和另外两个“==”时,这意味着什么?

        括号其实不是必须的,但它们封装了变量direction与字符串"right"的比较结果。此比较(实际上是所有比较)的返回值是bool 类型。使用= 赋值运算符将此返回值分配给变量isRight

        请查看operators的文档。

        【讨论】:

          【解决方案5】:

          其实很简单:

          direction"right" 完全相同(==)时,bool isRight 为真。

          如果没有,bool isRight = false

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2017-05-30
            • 1970-01-01
            • 1970-01-01
            • 2011-06-03
            • 1970-01-01
            • 2021-07-16
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多