奇思妙想 · 2024年 6月 22日 0

为什么C#有const和readonly两种常量关键字?

171 次浏览

了解C++ const成员的同学知道,const成员只能在类构造函数初始化列表做一次赋值初始化,其它位置都不能改。Java final类型成员的功能类似,对应C# readonly也是同样作用。即如下三者基本等价:

  • C++ const成员
  • Java final成员
  • C# readonly成员

C# const关键字代表永不能"运行时"赋值,可以初始化时赋值,但不能放在构造函数或其他函数做赋值,理解为readonly的强化版。