const与readonly的区别

const与readonly总结如下:

1.const和readonly在指定初始值以后将可读不可写

2.const是编译时常量,readonly是运行时常量.

因此const只能在该字段的声明中初始化,而readonly字段可以在声明或构造函数中初始化,因此根据构造函数的不同,readonly可能有不同的值

例如:

const int A = B+1;   B如果是一个变量,显然不能再编译时就计算出结果,所以常量是不可以用变量来初始化的。
                                     B如果是一个const常量,在编译的时候就会有一个明确的值,所以这句话就是正确的

3.const默认是静态的,是一个对象成员,readonly默认是一个实例成员

 const成员是一个类得成员,引用方式为:类.成员   readonly为对象实例.成员

static readonly为类成员引用方式:类.成员

4.const对于引用类型来讲只能是String和null,readonly可以是任意的类型

5.const的效率较高,readonly比较灵活

posted @ 2011-04-16 11:32  槑槑  阅读(246)  评论(0编辑  收藏  举报