我最近遇到了一些我不完全瞭解的代碼。下面是此代碼的基本表示:「| =」運算符在C#中做什麼?
bool flag = false;
flag |= someFunction();
在這個例子中,someFunction()
是返回bool
值的函數。我的問題是,|
=運算符是做什麼的?
我還沒有發現有關在網絡上還是在這個社區|=
多的信息。我瞭解使用=
運算符的基本賦值操作,使用=
=運算符或其他變體的比較運算,但我從未在之前的賦值中使用過|=
。
我也知道|
運算符用於按位包含OR
的比較。但是,將它用作任務的一部分對我來說沒有任何意義。在sudo代碼中,上面的代碼似乎是這樣說的:「如果」標誌「和someFunction()
之間的按位包含或結果爲真值,則將true值賦給flag,否則將false賦值爲flag。」當然,如果標誌或someFunction()
存儲/返回一個真值,那麼結果將是真實的(基於按位包含OR如何工作)。
這是一個正確的解釋?如果那是多麼|=
的作品,因爲我知道,「標誌」是假的,它真的任何意義,用|=
運營商在這種情況下不是一個簡單的=
賦值運算符?
在此先感謝。
看起來你知道如何'|'的工作,你必須知道如何'+ ='工作,'| =''指國旗=標誌| someFunction()'....就這麼簡單 – Sean
是的,如果'flag'絕對是'false',這是多餘的,但如果你連續使用一堆,那麼它不是。 – Ryan
感謝您的回覆。這讓我放心,我最初的解釋是正確的。我不認爲有必要減少這個問題,因爲之前沒有在這個社區問過這個問題,而且最初的解釋並不明顯。 –