首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 指派運算子與指派運算式:簡單/複合指派、右結合性、型別轉換規則

     編輯:關於C語言

指派運算子 將右運算元的值存入左運算元(變數、屬性、索引子)。C# 支援 11 種指派運算子:


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

核心規則

  • 左運算元必須為變數、屬性存取子或索引子存取子。
  • 右結合性:a = b = c 等價 a = (b = c)。
  • 型別不符:先嘗試隱含轉換,失敗則需顯式轉型。

簡單指派 =

  • 右運算元型別必須可隱含轉換為左運算元型別。
  • 運算式結果為「被指派的值」,型別為左運算元型別,永遠是實值型別語意(即使是參考型別,結果也是參考值本身)。

複合指派 op=

x += 5 等價 x = x + 5,但 x 僅評估一次(對屬性/索引子有副作用時關鍵)。

三步驟解析規則

  1. 若 op 多載回傳型別可隱含轉為 x 型別 → x = x op y。
  2. 否則若為預定義運算子、回傳型別可顯式轉為 x 型別、y 可隱含轉為 x 型別 → x = (T)(x op y)。
  3. 否則編譯錯誤。

範例


x += 5;      // x = x + 5
x %= 3;      // x = x % 3
x *= y + 1;  // x = x * (y + 1),y+1 僅算一次
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved