以前都沒怎麼注意兩者的區別(我甚至都不知道「&」),因為它們都是「與」運算子。我昨天看c#高編第三版的時候,才注意到這點,查了下msdn,把區別貼出來,時時提醒自己。
二元運算子 (&) 為整型和 bool 型別預定義了二進位制 & 運算子。對於整型,& 計算運算元的按位「與」。對於 bool 運算元,& 計算運算元的邏輯「與」;也就是說,當且僅當兩個運算元均為 true 時,其結果才為 true。條件「與」運算子 (&&) 執行布林運算元的邏輯「與」運算,但如有必要,只計算第二個運算元。它與二元運算子 (&)很像,不同的是,如果 x 為 false,則不計算 y(因為不論 y 為何值,與操作的結果都為 false)。這被稱作為「短路」計算。
下面的例子最能說明問題
//cs_operator_logical_and.cs
using system;
class test
static
bool fn2()
public
static
void main()
", fn1() & fn2());
console.writeline("short-circuit and:");
console.writeline("result is ", fn1() && fn2());
}}輸出:
regular and:
fn1 called
fn2 called
result is false
short-circuit and:
fn1 called
result is false
btw
(&) 也可作為一元運算子,返回運算元的位址
ps.
(|) 與 (||) 運算子也是一樣的道理
C 中 與 的區別
看過一些文章,關於這個的簡單而容易被忽略的語法,說的總有點瑕疵。貼 15秒之內應該能知道c 中乙個 和兩個 的區別,開始計數了.5秒看 namespace test927demo onemethod twomethod console.writeline c 乙個 符號的作用是 console.wr...
C 中this與 this的區別
在c primer 第五版 的練習題7.27於7.28中,對於this返回值的練習中有疑問,因此參照了博主daimous的一篇部落格,但是仍然有些許地方有需要深入理解的地方。return this返回的是當前物件的轉殖或者本身 若返回型別為a,則是轉殖,若返回型別為a 則是本身 return thi...
C 中this與 this的區別
別跟我說,return this返回當前物件,return this返回當前物件的位址 指向當前物件的指標 正確答案為 return this返回的是當前物件的轉殖或者本身 若返回型別為a,則是轉殖,若返回型別為a 則是本身 return this返回當前物件的位址 指向當前物件的指標 下面我們來看...