const和static readonly 区别

const的值是在编译期间确定的,因此只能在声明时通过常量表达式指定其值。

而static readonly是在运行时计算出其值的,所以还可以通过静态构造函数来赋值。

static readonly MyClass myins = new MyClass();(对)

static readonly MyClass myins = "3";(对)

const string myins = "3";(对)

const MyClass myins = new MyClass();(错)

对于一个static readonly的Reference类型,只是被限定不能进行赋值(写)操作而已。而对其成

员的读写仍然是不受限制的。

  static readonly MyClass myins = new MyClass();(对)

  myins.SomeProperty = 10; (对)

  myins = new MyClass();(错)

上一篇:【安富莱专题教程第2期】uC/Probe简易使用说明,含MDK和IAR,支持F103,F407和F429开发板


下一篇:学习Linux系列--安装Ubuntu