const和readonly有什么区别?

2022-01-14 163 0

相同点:

都是用来修饰常量。

不同点:

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的其他引用类型。

相关文章

C#-垃圾回收机制
C#中常量和只读有什么区别?
什么是 C# 中的装箱和拆箱?
ref 和 out 的区别
什么是继承?C# 支持多重继承吗?C#如何实现多重继承?
wait和 sleep 的区别?

发布评论