const和static readonly 区别

Posted 瘋孑

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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();(错)

 

以上是关于const和static readonly 区别的主要内容,如果未能解决你的问题,请参考以下文章

DX与OpenGL投影矩阵的区别

dim 与 static 的区别

为啥加了个static就报错?

使用OpenGL绘制钻石

c++ strstr 返回值为啥static

Java修饰符 abstract,static,final 的区别详解