我有一个叫Questions(复数)的类.在这个类中有一个名为Question(单数)的枚举,看起来像这样.
public enum Question
{
Role = 2,
ProjectFunding = 3,
TotalEmployee = 4,
NumberOfServers = 5,
TopBusinessConcern = 6
}
Run Code Online (Sandbox Code Playgroud)
在Questions类中,我有一个get(int foo)函数返回一个Questions对象foo.有没有一种简单的方法从枚举中获取整数值,所以我可以做类似的事情Questions.Get(Question.Role)?
这个问题在这里已有答案:
如何在C#中枚举枚举? 26个答案
public enum Foos
{
A,
B,
C
}
Run Code Online (Sandbox Code Playgroud)
有没有办法循环可能的值Foos?
基本上?
foreach(Foo in Foos)
Run Code Online (Sandbox Code Playgroud) 我想创建一个泛型方法,用于将任何System.Enum派生类型转换为其对应的整数值,而不进行转换,最好不解析字符串.
例如,我想要的是这样的:
// Trivial example, not actually what I'm doing.
class Converter
{
int ToInteger(System.Enum anEnum)
{
(int)anEnum;
}
}
Run Code Online (Sandbox Code Playgroud)
但这似乎不起作用.Resharper报告您无法将类型为"System.Enum"的表达式转换为"int"类型.
现在我已经提出了这个解决方案,但我宁愿提高效率.
class Converter
{
int ToInteger(System.Enum anEnum)
{
return int.Parse(anEnum.ToString("d"));
}
}
Run Code Online (Sandbox Code Playgroud)
有什么建议?