const和readonly有什么区别?

相同点:

都是用来修饰常量。

不同点:

1.初始化位置不同,const在声明的时候必须赋值,readonly在初始化的过程中也可以赋值。

2.readonly是实例成员,不同的实例可以有不同的常量值

3.const字段是编译时常量,要求编译器在编译时计算出确定的值,编译时用该值去替换调用该常数的每一个地方。readonly是运行时常量,运行时确定值。

4.const默认时静态的,readonly需要显示声明为静态。

5.修饰类型有限制,readonly能够修饰任何类型,const只能修饰下列类型:short,int,long,char,float,double,bool,string,enum等,const修饰引用类型时只能为string或者值为null的其他引用类型。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注