为什么不能在类内部声明const static字符串?必须使用static readonly。
const
隐式地是static
的,因此您不需要同时使用这两个关键字。这与C和C++不同,其中const
并不表示变量是静态的还是非静态的,只表示其值不可修改。const string SomeConstant = "abc";
const字段和静态readonly字段之间有一点差别,但它们都类似于您无法更改它们的值。详情请参阅此问题。
摘自这里
我已经写了一篇关于这个的博客,它会让你更好地理解。请看http://anishmarokey.blogspot.com/2009/09/const-vs-fields.html
大多数情况下,primitive
类型被用作常量,其他类型则使用static readonly