程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> C#賦值操作符和賦值表達式

C#賦值操作符和賦值表達式

編輯:關於C#

賦值就是給一個變量賦一個新值。C#中提供的賦值表達式有:

= += -= *= /= %= &= /= ^= <<= >>=

賦值的左操作數必須是一個變量,屬性訪問器或索引訪問器的表達式。
 

C#中可以對變量進行連續賦值,這時賦值操作符是右關聯的,這意味著從右向左操作符被分組。例如,形如a=b=c的表達式等價於a=(b=c)。

如果賦值操作符兩邊的操作數類型不一致,那就先要進行類型轉換。

7.3.1 簡單賦值

“=”操作符被稱為簡單賦值操作符。在一個簡單賦值中,右操作數必須為某種類型的表達式,且該類型必須可以隱式地轉換成左操作數類型。該運算符將右操作數的值賦給作為左操作數的變量、屬性或者索引器類型。簡單賦值表達式的結果是被賦給左操作數的值。結果類型和左操作數的類型相同,且總是值類型。

7.3.2 復合賦值

形如x op=y的運算可以處理成形如x op y的二進制操作符重載方法。比如:

x+=5; //等於x=x+5

x%=3; //等於x=x%3

x*=y+1; //等於x=x*(y+1)

復合賦值進行的步驟如下:

(1)如果所選操作符的返回類型可以隱式轉換成x的數據類型,執行x=x op y的運算,除此之外,僅對x執行一次運算。

(2)否則,所選操作符是一個預定義操作符,所選操作符的返回值類型可以顯式地轉換成x的類型,且y可以隱式地轉換成x的類型,那麼該運算等價於x=(T)(x op y)運算,這裡T是x的類型,除此之外,x僅被執行一次。

(3)否則,復合賦值是無效的,且會產生編譯時錯誤。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved