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。

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