MSDN:
|:二元
| 運算符是為整型和
bool 類型預定義的。對於整型,
| 計算操作數的按位“或”結果。對於
bool 操作數,
| 計算操作數的邏輯“或”結果;也就是說,當且僅當兩個操作數均為
false 時,結果才為
false。
&:& 運算符既可作為一元運算符也可作為二元運算符。
一元 & 運算符返回操作數的地址(要求 unsafe 上下文)。
為整型和 bool 類型預定義了二進制 & 運算符。對於整型,& 計算操作數的邏輯按位“與”。對於 bool 操作數,& 計算操作數的邏輯“與”;也就是說,當且僅當兩個操作數均為 true 時,結果才為 true。
|位或運算的時候,他會將所有運算條件都算出結果,再判斷是否為真.
|| 邏輯或運算的時候,從前往后運算,若有一個成立,則不再繼續運算下面的條件.直接為真.
& 與 && 也是同理.
用 & 和 && 打個比方.
txtName 是個textbox.
if(txtName != null && txtName.Text != "")
{}
與
if(txtName != null & txtName.Text != "")
{}
會出現不同的效果.
當txtName = null的時候.
第2條語句會報錯.
因為第2條會一起執行 txtName != null 和 txtName.Text != ""
所以第2個條件報錯.
而第1句執行txtName != null的時候 得到 false
則不會繼續執行下去了.
|| 邏輯或運算的時候,從前往后運算,若有一個成立,則不再繼續運算下面的條件.直接為真.
& 與 && 也是同理.
用 & 和 && 打個比方.
txtName 是個textbox.
if(txtName != null && txtName.Text != "")
{}
與
if(txtName != null & txtName.Text != "")
{}
會出現不同的效果.
當txtName = null的時候.
第2條語句會報錯.
因為第2條會一起執行 txtName != null 和 txtName.Text != ""
所以第2個條件報錯.
而第1句執行txtName != null的時候 得到 false
則不會繼續執行下去了.