const: 编译时常量,在编译成IL时会使用具体数值替换。
readonly: 运行时常量,在具体运行时才获取具体值。
如:将readonly修饰的赋值Datetime类型,会发现readonly的值是随着运行时间的不同而时间变化的。
const是不支持new来赋值的。
还有一种情况,switch...case
case可以使用const变量,但不能使用readonly变量
如使用readonly变量,系统会提示请使用常量值
也就是说,readonly变量,在未编译之前,系统将不会认为该变量是常量。而const变量为常量值