第二部分 设计类型:第7章 常量和字段

7.1 常量

定义常量符号时,它的值必须能在编译时确定,确定后编译器将常量的值保存到程序集的元数据中。
定义常量只能是编译器认定的基元类型:Boolean、Char、Byte、SByte、Int16、Int32、UInt32、Int64、UInt64、Single、Double、Decimal、String。
C#也允许定义一个非基元类型的常量变量(constant variable),前提是把它的值设置为null。

常量被视为类型定义的一部分、被视为静态成员,将导致创建元数据。

编译时常量的值被直接嵌入IL代码中,运行时不需要为常量分配任何内存。不能获取常量地址,不能以传引用的方式传递常量。所以,常量没有很好的垮程序集版本控制特性。

7.2 字段

字段是一种数据成员,容纳了一个值类型的实例或引用类型的引用。

 字段存储在动态内存中,他们的值在运行时才能获取。字段可以是任何数据类型。

 字段一般都是在构造函数中被初始化的。

原文地址:https://www.cnblogs.com/zxx193/p/3640042.html