区别有两点:
1.const只可以在声明中初始化, readonly可以在声明和构造函数中初始化.
2.const是编译时常量,readonly是运行时常量.
所以建议用readonly定义常量
class SampleClass
{
public readonly int y = 25;
public readonly int z=DateTime.Now.Year;//readonly是运行时常量
public const int c1 = 5;//const是编译时常量,只可以在声明时初始化
public const int c2 = c1 + 5;
public SampleClass()
{
y = 100;//readonly可以在声明时和构造函数中初始化
}
}
本文详细介绍了C#编程语言中const与readonly关键字的区别。主要从初始化时机及常量属性进行对比:const只能在声明时初始化且为编译时常量;而readonly既可在声明时初始化,也可在构造函数中初始化,并作为运行时常量存在。
4488

被折叠的 条评论
为什么被折叠?



