const与readonly

const: 编译时常量,在编译成IL时会使用具体数值替换。

readonly: 运行时常量,在具体运行时才获取具体值。

如:将readonly修饰的赋值Datetime类型,会发现readonly的值是随着运行时间的不同而时间变化的。

const是不支持new来赋值的。

还有一种情况,switch...case

case可以使用const变量,但不能使用readonly变量

如使用readonly变量,系统会提示请使用常量值

也就是说,readonly变量,在未编译之前,系统将不会认为该变量是常量。而const变量为常量值

原文地址:https://www.cnblogs.com/zhuhc/p/2366389.html