前段时间在CSDN看到有个帖子问关于常量(const )和只读(readonly)的区别,觉得很有意思,于是找了些资料,写了些代码研究了一下。

发现常量和只读变量有以下区别
1.常量必须在声明时就被初始化,指定了值后就不能修改了.只读字段可以在声明时被初始化,也可以在构造函数中指定初始化的值,在构造以后值就不能修改.
2.常量是静态的,而自读字段可以是静态和动态的
3.Const可以用在字段和局部变量,readonly只可以修饰字段

以下是我的测试代码

const   VS   readonlyusing System;
const   VS   readonly
const   VS   readonly
//说明:没有编号的字段在声明时不初始化,构造时被初始化
const   VS   readonly
//编号为1的字段在声明时初始化,构造时不被初始化
const   VS   readonly
//编号为2的字段在声明时,构造时都被初始化
const   VS   readonly
//编号为3的字段在声明时,构造时都不被初始化
const   VS   readonly
public class Test
}

相关文章: