【学习资料】
《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 = ; // const
public readonly int a2 = ; // readonly
public static readonly int a3 = ; // static readonly // 静态构造函数
static Person()
{
//a1 = 1; // 错误
//a2 = 2; // 错误
a3 = ; // 正确
}
// 构造函数
public Person()
{
//a1 = 1; // 错误
a2 = ; // 正确
//a3 = 3; // 错误
}
}
-
三者区别
- const :编译时常量,效率最高
- readonly:运行时常量,可以在运行时根据环境确定常量值,比较灵活