五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

【C#】true 和 false 運算符(不是字面量哦~)

2022-09-01 10:29 作者:SunnieShine  | 我要投稿

邏輯元運算符(true、false 運算符)


語法

public static bool operator true/false(T variable);


目的

true 和 false 運算符的重載目的就是為了讓對象謂詞化。


重載規(guī)則和約定

  1. true 和 false 運算符必須返回 bool 類型。
  2. true 和 false 運算符必須只帶有一個參數(shù),參數(shù)必須是當(dāng)前類型。
  3. true 和 false 運算符必須同時重載,雖然在條件判斷使用的過程之中只會用 true 運算符的判斷過程。
  4. true 和 false 運算符在重載的時候,邏輯要寫成一對相反的情況。
  5. true 和 false 運算符最終的返回表達式不要寫成常量或常量表達式,否則定義的這個運算符就沒有任何意義。


用法

  • 謂詞化(直接寫在作為條件判斷的地方上)。比如:if (條件)、while (條件)、do-while(條件)、for(;條件;)、條件 ? t : f
  • 這些用法都會自動調(diào)用 true 運算符,此時 false 運算符是沒有用到的。
  • 隱式重載 && 和 || 運算符。

要想對象可以重載 && 運算符,至少要求對象有 & 運算符和邏輯元運算符兩個的重載。

要想對象可以重載 || 運算符,至少要求對象有 | 運算符和邏輯元運算符兩個的重載。

a && b 等價于:false(a) ? a : a & b

a || b 等價于:true(a) ? a : a | b


需要注意的地方

為什么 a && b 要翻譯成“false(a) ? a : a & b”而不是“false(a) ? a : b”呢?

因為考慮到語法、語義的嚴謹性,如果只將 b 作為返回的話,此時計算規(guī)則得到的最終結(jié)果只跟 a 或者 b 的其中一個對象有關(guān)系了,這樣就達不到邏輯運算。

需要保證和滿足的點:兩個都得計算,其中一個成立還不行,還需要另外一個也成立。

同理,a || b 也必須翻譯成“true(a) ? a : a | b”而不是“true(a) ? a : b”。

【C#】true 和 false 運算符(不是字面量哦~)的評論 (共 條)

分享到微博請遵守國家法律
赤峰市| 长垣县| 濮阳市| 宁德市| 辉南县| 青龙| 宜宾县| 林州市| 布尔津县| 剑河县| 象山县| 临颍县| 台中市| 东宁县| 佛学| 吉木乃县| 东港市| 青龙| 丰顺县| 安阳县| 平顶山市| 新和县| 霍林郭勒市| 英德市| 满洲里市| 达拉特旗| 新安县| 丰顺县| 巫溪县| 灯塔市| 株洲县| 连云港市| 泗阳县| 安顺市| 同德县| 壶关县| 德令哈市| 东乌珠穆沁旗| 和顺县| 黔江区| 宁阳县|