.net框架笔记(四)

第八章 常数与字段

一.常数(const)

定义一个常数时,我们必须能够在编译时确定它的值.通过编译后,编译器将常数的值保存在其所定义模块的元数据内.这意味着常数的类型只能是那些编译器认为的基元类型。(c#中,下面的类型可以称为基元类型, Boolean.char.byte,sbyte,decimal,int16,uint16,int32,uint32,int64,uint64,single,double以及string,枚举类型由于本身以基元类型形式存储,故也可以被用来定义常数,但它不是基元类型)

只有基元类型的数据成员在编译时直接进行初始化.而非基元类型的数据成员只能在运行时调用构造器来完成初始化.

常数在运行时不再需要任何的内存分配.也不能获取常数的地址,

二.字段(readonly)

字段保存一个值类型的实例,或一个指向引用类型的引用.在该类型被加载进入一个应用程序时为其分配动态内存.

因为字段是以动态内存的形式存储的.因此只能在运行时刻获取他们的值,

有只读字段和读写字段两种.

只读字段只能在构造器内被赋值(构造器在对象初次创建时被执行,且只执行一次).对于静态只读字段,则只能在静态构造器内赋值.

 

Code
posted @ 2008-09-16 13:55  打瞌睡的耶稣  阅读(250)  评论(0)    收藏  举报