【學習資料】
《C#圖解教程》(第6章):https://www.cnblogs.com/moonache/p/7687551.html
電子書下載:https://pan.baidu.com/s/1mhOmBG0
【內容】
-
- const
- readonly
- static readonly
- 三者比較
【筆記】
- const
- 編譯時常量
- 類的常量
- 只能在聲明時賦值
- readonly
- 運行時常量
- 對象的常量
- 可以在 聲明時 賦值(與常量一樣),或 構造函數中 賦值
- static readonly
- 運行時靜態常量
- 類的常量
- 可以在 聲明時 賦值(與常量一樣),或 靜態構造函數中 賦值
-
public class Person { public const int a1 = 0; // const public readonly int a2 = 0; // readonly public static readonly int a3 = 0; // static readonly // 靜態構造函數 static Person() { //a1 = 1; // 錯誤 //a2 = 2; // 錯誤 a3 = 3; // 正確 } // 構造函數 public Person() { //a1 = 1; // 錯誤 a2 = 2; // 正確 //a3 = 3; // 錯誤 } }
- 三者區別
- const :編譯時常量,效率最高
- readonly:運行時常量,可以在運行時根據環境確定常量值,比較靈活
