c#enum GetValue()方法
我正在编写一些用c#编写的代码。有一个枚举,例如定义为:c#enum GetValue()方法,c#,enums,C#,Enums,我正在编写一些用c#编写的代码。有一个枚举,例如定义为: namespace abc { public enum XYZ { a=0, b=1, } } 现在,代码中有一个变量,例如XYZ enum类型的x和一行: var y=x.GetValue(); 现在,当x为0,即“a”时,代码正常工作,y被指定为“a”。但是当它为1时,代码崩溃。我试图搜索方法“GetValue”,但找不到太多文献。同样在枚举定义中,“b=1”后面的逗号是
namespace abc
{
public enum XYZ
{
a=0,
b=1,
}
}
现在,代码中有一个变量,例如XYZ enum类型的x和一行:
var y=x.GetValue();
现在,当x为0,即“a”时,代码正常工作,y被指定为“a”。但是当它为1时,代码崩溃。我试图搜索方法“GetValue”,但找不到太多文献。同样在枚举定义中,“b=1”后面的逗号是否正确?请帮助我。
XYZ
是一个枚举,它没有值,您需要从中获取所需条目的值
var y = XYZ.a
枚举将一个值绑定到一个枚举,如果您希望使用另一种方式,最好使用字典
,或键值对
列表
enum WeekDays { Sun = 1, Mon = 2, Tue, Wed, Thu, Fri, Sat };
public void Main(string[] args)
{
Console.WriteLine(
((WeekDays)2).ToString()
); //Prints "Mon"
}
你说的“代码崩溃”到底是什么意思?有例外吗?请显示一个简短但完整的程序来演示此问题。“XYZ”不包含“GetValue”的定义,并且没有扩展方法“GetValue”接受类型为“XYZ”的第一个参数。错误是“System.Collections.Generic.KeyNotFoundException”类型的第一次意外异常发生在System.Web.Mvc.dll中”你能给我一些关于这个GetValue()方法的链接吗?“在枚举定义中,也是“b=1”后面的逗号好的,是的,它的法定代码。C#enum只是
int
在引擎盖下。变量x有一些值,比如0。现在,我认为代码打算通过GetValue()方法将x的字符串值“a”赋予y。我对这个方法不太了解(或者说c#,我刚刚开始使用c#)。@whoisj不完全正确,你可以将它们定义为不同的底层类型,比如enum foo:byte{x,y,z}
@Kaelan Fouwels,代码是由其他人编写的,是一个相当大的项目,我不想通过用dictionary替换enum来改变结构太多。