哪些类型可以声明为const?

naw*_*fal 2 c# types const constants

在C#中,可以声明为哪些类型const?

const int i = 0;
const double d = 0;
const decimal m = 0;
const referenceType = null;
Run Code Online (Sandbox Code Playgroud)

有没有我可以参考的综合清单?

Ehs*_*san 5

那么MSDN中明确指出,

常数表达式是可以在编译时完全求值的表达式。因此,引用类型的常量唯一可能的值为string和null。

从C#语言规范的10.4节开始。这些是可以使用的类型。

常量声明中指定的类型必须是sbyte,byte,short,ushort,int,uint,long,ulong,char,float,double,decimal,bool,string,枚举类型或引用类型。每个常量表达式必须产生目标类型的值或可以通过隐式转换转换为目标类型的类型的值