自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

C#賦值運(yùn)算符之復(fù)合賦值運(yùn)算符

開發(fā) 后端
C#賦值運(yùn)算符之復(fù)合賦值運(yùn)算符是什么呢?C#賦值運(yùn)算符之復(fù)合賦值運(yùn)算符在使用的情況如何呢?那么本文就向你介紹這方面的內(nèi)容。

C#賦值運(yùn)算符之復(fù)合賦值運(yùn)算符的使用:

x op= y 形式的運(yùn)算是這樣來處理的:先將二元運(yùn)算符重載決策應(yīng)用于運(yùn)算 x op y。然后,

如果選定的運(yùn)算符的返回類型可“隱式”轉(zhuǎn)換為 x 的類型,則運(yùn)算按 x = x op y 計(jì)算,但 x 只計(jì)算一次。
 
否則,如果選定運(yùn)算符是預(yù)定義的運(yùn)算符,選定運(yùn)算符的返回類型可“顯式”轉(zhuǎn)換為 x 的類型,并且 y 可“隱式”轉(zhuǎn)換為 x 的類型,則運(yùn)算按 x = (T)(x op y) 計(jì)算(其中 T 是 x 的類型),但 x 只計(jì)算一次。

否則,復(fù)合賦值無效,且發(fā)生編譯時(shí)錯(cuò)誤。

C#賦值運(yùn)算符之復(fù)合賦值運(yùn)算符使用遇到的問題:

術(shù)語“只計(jì)算一次”表示:在 x op y 的計(jì)算中,任何 x 的要素表達(dá)式的計(jì)算結(jié)果都臨時(shí)保存起來,然后在執(zhí)行對(duì) x 的賦值時(shí)重用這些結(jié)果。例如,在計(jì)算賦值 A()[B()] += C() 時(shí)(其中 A 為返回 int[] 的方法,B 和 C 為返回 int 的方法),按 A、B、C 的順序只調(diào)用一次這些方法。

當(dāng)復(fù)合賦值的左操作數(shù)為屬性訪問或索引器訪問時(shí),屬性或索引器必須同時(shí)具有 get 訪問器和 set 訪問器。如果不是這樣,則發(fā)生編譯時(shí)錯(cuò)誤。

上面的第二條規(guī)則允許在某些上下文中將 x op= y 按 x = (T)(x op y) 計(jì)算。按此規(guī)則,當(dāng)左操作數(shù)為 sbyte、byte、short、ushort 或 char 類型時(shí),預(yù)定義的運(yùn)算符可用來構(gòu)造復(fù)合運(yùn)算符。甚至當(dāng)兩個(gè)參數(shù)都為這些類型之一時(shí),預(yù)定義的運(yùn)算符也產(chǎn)生 int 類型的結(jié)果.因此,不進(jìn)行強(qiáng)制轉(zhuǎn)換,就不可能把結(jié)果賦值給左操作數(shù)。

C#賦值運(yùn)算符之復(fù)合賦值運(yùn)算符使用的實(shí)例操作:

此規(guī)則對(duì)預(yù)定義運(yùn)算符的直觀效果只是:如果同時(shí)允許 x op y 和 x = y,則允許 x op= y。在下面的示例中,

  1. byte b = 0;  
  2. char ch = '\0';  
  3. int i = 0;  
  4. b += 1;            // Ok  
  5. b += 1000;         // Error, b = 1000 not permitted  
  6. b += i;            // Error, b = i not permitted  
  7. b += (byte)i;      // Ok  
  8. ch += 1;            // Error, ch = 1 not permitted  
  9. ch += (char)1;      // Ok 

每個(gè)錯(cuò)誤的直觀理由是對(duì)應(yīng)的簡(jiǎn)單賦值也發(fā)生錯(cuò)誤。

C#賦值運(yùn)算符之復(fù)合賦值運(yùn)算符的相關(guān)內(nèi)容就向你介紹到這里,希望對(duì)你學(xué)習(xí)C#賦值運(yùn)算符之復(fù)合賦值運(yùn)算符有所幫助。

【編輯推薦】

  1. C#關(guān)系運(yùn)算符簡(jiǎn)介
  2. C#邏輯運(yùn)算符簡(jiǎn)介
  3. C#條件運(yùn)算符簡(jiǎn)介
  4. C#移位運(yùn)算符簡(jiǎn)介
  5. C#賦值運(yùn)算符之簡(jiǎn)單賦值運(yùn)算符
責(zé)任編輯:仲衡 來源: 百度空間
相關(guān)推薦

2009-08-12 15:02:49

C#賦值運(yùn)算符簡(jiǎn)單賦值運(yùn)算符

2025-02-24 11:16:20

2009-08-11 15:51:08

C#運(yùn)算符算術(shù)運(yùn)算符

2009-08-12 09:30:10

C#??運(yùn)算符

2011-07-15 01:34:36

C++重載運(yùn)算符

2025-03-05 09:37:03

2009-08-11 14:16:38

C# New運(yùn)算符

2009-09-01 10:08:57

C#運(yùn)算符

2009-08-12 13:35:22

C#關(guān)系運(yùn)算符

2009-08-12 14:29:32

C#條件運(yùn)算符

2009-08-12 10:47:03

C#運(yùn)算符重載

2009-08-12 14:49:33

C#移位運(yùn)算符

2020-10-15 08:11:56

JavaScript邏輯運(yùn)算符

2009-09-04 13:18:10

C#允許運(yùn)算符重載

2009-08-12 10:27:12

C#運(yùn)算符重載運(yùn)算符重載實(shí)例

2009-08-12 10:07:51

C#運(yùn)算符

2009-08-14 10:16:57

C#運(yùn)算符重載

2009-08-12 10:56:47

C#運(yùn)算符重載C#運(yùn)算符重載實(shí)例

2009-08-12 14:23:09

C#邏輯運(yùn)算符

2009-08-12 12:46:11

C#運(yùn)算符重載
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)