相同点:
都是用来修饰常量。
不同点:
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的其他引用类型。