标签:运行 不能 替换 read 数据类型 stat csharp 构造函数 vat
const定义的是一个常量,在编译器编译的时候就要确定其值;编译器会把用到常量的地方替换成常量定义的具体值。
readonly定义的是一个只读变量,为了保证变量不能被改变;readonly定义的变量,在运行期间通过构造函数指定;
const定义的字段,是类级别的;
readonly定义的字段,如果同时有static修饰则是类级别,如果没有static则是实例级别的。
下面是readonly 和static readonly的示例:
public class DocumentEditor { private static readonly uint _maxDocuments; static DocumentEditor() { _maxDocuments = 100; } } public class Document { private readonly DateTime _creationDateTime; public Document() { _creationDateTime = DateTime.Now; } }
注意:
在构造函数中不必给只读字段赋值;如果没有赋值,它的值就是其数据类型的默认值。
也可以在声明的时候给其初始化值。
《刻意练习之C#》-0019- C# readonly和const
标签:运行 不能 替换 read 数据类型 stat csharp 构造函数 vat
原文地址:https://www.cnblogs.com/codesee/p/13111703.html