2017-09-28 58 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