C#-readonly, const

在一个类里定义一个const常量,和readonly,定义一个static值,分别赋值给const和readonly,编译代码出现一个错误,此错误说明const的值是在编译时候确定的,那么readonly的值是在运行时确定的。

这就要求const修饰的常量在申明时候就要赋值一个常量;

可以按照以下方式调用以上定义的常量:

readonly只能定义类级别的field

总结:

1. readonly 和 const 定义的参数一经定义,就不能更改了;

2. const 和 static readonly 定义的常量是静态的,可以由类名直接访问;而readonly定义的常量只能有类的实例来访问;

3. const 定义时必须初始化为一个常量,它的值是编译时候决定的; readonly 和 static readonly定义的常量可以定义时不赋值,但他们的值是default值,像int对应的default值就是0;

posted @ 2012-12-17 10:54  Lilideng  阅读(136)  评论(0编辑  收藏  举报