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