(1)const修饰符是静态常量,默认为静态,不需要额外加static修饰符;readonly修饰符是动态常量,如果要声明为静态,必须额外加static修饰符
例子:
运行结果:
(2)const修饰符修饰的字段在编译时就已经确定了,是编译时常量;readonly修饰符修饰的字段是在运行时才确定,是运行时常量
例子:
运行结果:
(3)const修饰符既可以在类中声明,也可以作为局部变量在方法中声明;readonly修饰符只可以在类中声明。
例子:
运行结果:
(4)const修饰符可以修饰string和值为null的其他引用类型;readonly修饰符可以修饰所有类型
(5)const修饰符修饰的字段在声明时就得赋值;readonly可以在声明时就赋值,也可以在构造函数中在进行实例化
例子1:const修饰符的字段在声明时就得赋值
运行结果:
例子2:readonly修饰符不一定要在声明时赋值
运行结果: