C# 的 readonly 和 const 關鍵字

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。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章