1、靜態常量和動態常量
• 在c#語言中,有兩種類型的常量,分別是運行時常量和編譯時常量;
• 靜態常量就是編譯時常量,程序一經編譯,常量即被賦值,並且不可修改。只能是BCL(Base Class Library)中的基礎類型。
• 動態常量就是運行時常量,程序運行時進行賦值,賦值完成後無法更改,也稱只讀變量。沒有類型限制。
2、readonly和const 特性
• readonly 定義的是運行時常量
• const 定義的是編譯時的常量
2.1 聲明以及初始化
• const 修飾的常量在聲明時必須初始化,const修飾的常量本身就是static。
• readonly修飾的常量可以在延遲到構造函數中初始化。
• readonly修飾符支持類類型
2.2 性能
const以字面量形式參與運算,性能略高與readonly。但是對於一般應用而言,這種差異可以忽略不計。
2.3 使用規範
• 取值永遠不變,對性能要求苛刻,使用const常量。否則優先考慮readonly。