1.readonly值是运行时得到的,相当于一个只能赋值一次的变量;一般后跟new 操作符,调用构造函数初始化。

而const是编译时得到的,编译完之后在IL中就是常量。

Const定义的这个值,可以是一个表达式,但是这个表达式的结果,必须是编译的时候可以计算出来的。

 

2.查看IL可知,一个const定义的一个field包含static修饰符

 

3.对于一个static readonly的Reference类型,只是被限定不能进行赋值(写)操作而已。而对其成员的读写仍然是不受限制的。

 

4.,readonly只能用来修饰类的field,不能修饰局部变量

 

讲解详细的一篇博文:

http://www.cnblogs.com/smalldust/archive/2005/04/06/167494.html

 

较深入的一篇:

http://www.cnblogs.com/lbq1221119/archive/2007/12/23/1011145.html

posted on 2012-01-05 20:12  Iven Joe  阅读(176)  评论(0编辑  收藏  举报