常量Const因为编译时是确定的值,有可能会发生这种情况导致程序BUG:
程序集A定义了常量A=123,程序集B定义了一个函数int Get(){ return A; }
现在A的常量由于需求调整更改为A=321,然后只更新(重新编译)了程序集A
好了,现在程序集B的Get输出仍然是123,因为B没有进行过更新(重新编译)。
C#中提供了readonly帮助解决这种潜在的陷阱。
常量Const因为编译时是确定的值,有可能会发生这种情况导致程序BUG:
程序集A定义了常量A=123,程序集B定义了一个函数int Get(){ return A; }
现在A的常量由于需求调整更改为A=321,然后只更新(重新编译)了程序集A
好了,现在程序集B的Get输出仍然是123,因为B没有进行过更新(重新编译)。
C#中提供了readonly帮助解决这种潜在的陷阱。