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

C# 到 IL 深度解析:第4章 關鍵字與操作符 (下)(9) - initonly 唯讀欄位、常量 literal 與靜態/實例方法

     編輯:關於C語言

readonly 對應 initonly

C# readonly 欄位在 IL 標記 initonly。CLR 僅允許在建構函數中修改,但不嚴格執行(文檔要求語言編譯器強制)。

常量 literal 欄位

const 編譯為 literal 欄位,編譯期即為常數值。IL 禁止對 literal 欄位 stsfld(寫入),違反會拋 MissingFieldException。

範例:const 多常量依賴

const int k = 3;
const int j = k - 1; // 2
const int i = j + 4; // 6

IL 中三者皆為 literal,Main 僅 ldc.i4.3 直接使用 k 值,其他常量編譯期已內聯。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved