亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

要說的是,要做的事有什么區別呢?

要說的是,要做的事有什么區別呢?

C#
一只名叫tom的貓 2019-07-26 15:14:16
要說的是,要做的事有什么區別呢?我一直用||(兩個管道)在OR表達式中,包括C#和PHP。偶爾我會看到一根管子被使用:|..這兩種用法有什么區別?在使用一種或另一種時是否有任何注意事項?或者它們是可互換的?
查看完整描述

3 回答

?
長風秋雁

TA貢獻1757條經驗 獲得超7個贊

就像&&&操作符,雙操作符是“短路”操作符.

例如:

if(condition1 || condition2 || condition3)

如果條件1為真,則將不檢查條件2和3。

if(condition1 | condition2 | condition3)

這將檢查條件2和3,即使1已經為真。由于您的條件可能是相當昂貴的功能,您可以通過使用它們獲得良好的性能提升。

有一個很大的警告,NullReference或類似的問題。例如:

if(class != null && class.someVar < 20)

如果類為空,則if-語句將在class != null都是假的。如果您只使用&,它將嘗試檢查class.someVar你得到一個很好的NullReferenceException..使用or-操作符可能不是什么陷阱,因為不太可能觸發一些不好的東西,但是要記住這一點。

從來沒有人用過單曲&|運算符,除非您有一個設計,其中每個條件都是必須執行的函數。聽起來像設計的味道,但有時(很少)它是一種干凈的方式來做事情。這個&運算符執行“運行這3個函數,如果其中一個函數返回false,則執行Else塊”,而|“只有在沒有人返回false的情況下才運行Else塊”-可能很有用,但正如所說,這通常是一種設計味。

第二次使用|&接線員:按位操作.




查看完整回答
反對 回復 2019-07-27
?
小怪獸愛吃肉

TA貢獻1852條經驗 獲得超1個贊

一種是“按位或”。

10011 b\x{e76f}01000b=>11011b

另一種是邏輯或。

真或假=>真



查看完整回答
反對 回復 2019-07-27
  • 3 回答
  • 0 關注
  • 389 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號