可能是重复问题:
C# int, Int32 and enum's
这可能是一个相当基础/简单的问题。我以以下方式创建枚举。
情况1可以完美编译。但情况2会抛出错误。 据我理解,在C#中,int和Int32意思相同。
情况1:
[Flags]
public enum MyEnum : int
{
Red = 0x1,
Green = 0x2,
Blue = 0x4
}
案例二
[Flags]
public enum MyEnum : Int32
{
Red = 0x1,
Green = 0x2,
Blue = 0x4
}
为什么C#编译代码时,如果枚举成员被指定为Int32类型,就会有所不同呢?
在这里的区别是什么?
int
是一个关键字,而Int32
是一个普通的标识符,恰好是在System
命名空间中定义的原始类型的未限定名称。例如,我可以创建一个类MyNamespace.Int32
,但MyNamespace.int
是语法错误。 - Ben Voigt