常量定义后不能修改,const出现在类和方法中,readonly只能在类体中使用,不能再方法中使用.readonly只读,修改无效.
const静态常量的特点:
1.在编译期间,才进行初始化,不会分配内存
2.定义时必须有初始化,定义时类型有限制
3.每个类的实例,静态常量的值都是一样
readonly动态常量的特点:
1.在运行期间,才进行初始化,也可以不初始化,初始化可以放在构造函数中.,分配内存.
2.类型无限制
3.每个实例,动态常量的值可以不同
public const int num = 20;
const关键字标识的为静态常量,const关键字位置在修饰符和数据类型之间.;静态常量不属于实例,它的访问必须通过类的本身.静态常量本质上是静态的成员,但是不需要static来修饰.静态函数的数据类型有所限制.只能在初始化器初始化.不能在构造函数初始化
readonly关键字标识的是动态常量,,关键字既可以在修饰符前也可以 在修饰符后面.动态常量的数据类型无限制,
public readonly int num3 = 20;
public readonly int num4;
此处的readonly是让类的地址可读,不能被修改,但是属性值是可以修改的.动态常量只能在初始化器与构造函数中初始化,其他位置不能被修改.