const和readonly

 说道定义的变量不容修改的问题,不得不说起C#中还有一个readonly关键字,也是使用在字段上定义不容修改的值,但是const和readonly有几个区别,  
          区别1)   在语法上,const定义的字段只能在字段声明时初始化,而readonly字段既可以在声明时初始化,也可以在构造函数中初始化,根据不同的初始化,readonly定义的字段可能会得到不同的值.  
          区别2)   在编译时,因为const字段在声明时即初始化,所以是编译时常数,而readonly字段虽然是只读的,其值却可能要等到一个对象初始化后才能知晓,所以可以是运行时常数(但readonly字段如在声明时初始化仍是编译时常数).  
          区别3)   在使用时,const字段不能用static关键字修饰,但readonly可以.
posted @ 2007-10-08 14:41  子午  阅读(136)  评论(0编辑  收藏  举报