Eri*_*itz 1 c# enums constants numeric
我在SharePoint Web部件中创建此选择框,需要使用当前版本下拉,因此我需要使用枚举.
public enum SelectVersionEnum { 2010, 2007 };
Run Code Online (Sandbox Code Playgroud)
那么你可以看到它在哪里断开,有没有办法在枚举中使用整数?最重要的是我想使用
public enum SelectVersionEnum { 2010=14, 2007=12 };
Run Code Online (Sandbox Code Playgroud)
不,您不能使用整数名称命名枚举.
枚举值名称是普通标识符,必须遵循与其他所有内容相同的规则.
但是,您可以使用:
public enum SelectVersionEnum
{
Version2007 = 12,
Version2010 = 14
}
Run Code Online (Sandbox Code Playgroud)
此外,Enum.Parse即使字符串中描述的值不存在,也可以将带有整数的字符串解析为其对应的枚举值.
在LINQPad中尝试以下操作:
void Main()
{
Enum.Parse(typeof(SelectVersionEnum), "12").Dump();
Enum.Parse(typeof(SelectVersionEnum), "14").Dump();
Enum.Parse(typeof(SelectVersionEnum), "2007").Dump();
}
public enum SelectVersionEnum
{
Version2007 = 12,
Version2010 = 14
}
Run Code Online (Sandbox Code Playgroud)
输出:
Version2007 Version2010 2007
如果您定义以下内容,您认为会发生什么:
public enum SelectVersionEnum
{
12 = 14,
14 = 16
}
Run Code Online (Sandbox Code Playgroud)
字符串"14"现在是"12"还是"14"?