2017-09-28 23 views
0

我搜索了网页,但没有找到正确的答案,下面的代码约定(特别是C#)是什么意思?下面的约定是什么意思:bool isRight =(direction ==“right”)

bool isRight = (direction == "right") 

这是什么意思,当你有“=”,然后另外两个“==”?我知道这是编写一些操作的捷径。 感谢

+1

左边的'='是赋值运算符到'bool',右边的'=='是2个字符串值之间的比较运算符。阅读关于值赋值和比较的C#语言规范。 –

+2

这是比较结果的简单分配。 – Filburt

+1

@TetsuyaYamamoto - 我不确定什么,具体来说,OP实际上是在这里。但如果他们被赋值和比较弄糊涂了,我怀疑C#语言规范是他们需要去清除混淆的地方。 –

回答

2

这是

bool isRight = false; 

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

(direction == "right")简单地返回指示条件是否为真或假的布尔值,然后只需您正在使用的返回值,并使用=运营商将其分配给一个布尔变量。

结论 -

==对于平等检查

=对于分配

2

=称为assignment operator。它用于从表达式的右侧向左侧分配一个值。

==被称为equality operator。它用于在运营商的任一侧共享物体

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

括号实际上是没有必要的,但它们封装变量direction以字符串"right"比较的结果。该比较的返回值(实际上是所有比较)的类型为bool。该返回值使用=赋值运算符分配给变量isRight

请检查文档operators

5

括号内的位(direction == "right")评估为布尔表达式。这意味着这部分是在它自己的权限下分析的,并导致True/False结果。

==运算符检查左侧和右侧之间的相等性,所以如果direction变量的值等于"right"那么该值将为真。

=运算符用于赋值,前一个布尔值被分配给isRight变量。

0

速记其实它真的很简单:

bool isRight为真时,direction正是(==)类似"right"

如果不是,则为bool isRight = false