1、const修飾符
初始化時機:編譯時,即編譯程序時將值已經嵌入代碼中;
值狀態:不允許動態修改
修飾範圍:字段、局部變量
主要應用場景:主要應用於程序運行中不需要改變的變量的值,比如數學符號PI;
2、static修飾符
初始化時機:運行時,可以聲明時賦值,也可以在構造函數,或使用時賦值
值狀態:允許修改
修飾範圍:類、字段、屬性、方法、運算符、事件、構造函數(不能用於索引器、析構函數或類以外的類型)
主要應用場景:主要作用於類的公共屬性
3、readonly修飾符
初始化時機:運行時,可以聲明時賦值或在類中的構造函數中賦值
值狀態:允許修改,但只能在構造函數中修改
修飾範圍:字段
主要應用場景:主要作用於實例化的對象的只讀屬性
4、static readonly修飾符
初始化時機:運行時,是兩個關鍵字的組合
值狀態:允許修改,聲明時賦值或者靜態構造函數中賦值
修飾範圍:字段
主要應用場景:第一,和const相比,它主要應用於引用性變量;而const,只能用於string類型的引用性變量;第二,類的只讀公共屬性