【发布时间】:2009-11-25 18:51:37
【问题描述】:
您好,我有一个简单的问题,但一直困扰着我一段时间。
问题:
在 C# 中使用 switch 语句时,使用 enums 而不是 constants 是否被认为是更好的做法,反之亦然?或者这是一个偏好问题?我问这个是因为很多人似乎喜欢使用enums,但是当您打开int 值时,您必须将enum 中包含的每个值转换为int,即使您指定enum 的类型。
代码片段:
class Program
{
enum UserChoices
{
MenuChoiceOne = 1,
MenuChoiceTwo,
MenuChoiceThree,
MenuChoiceFour,
MenuChoiceFive
}
static void Main()
{
Console.Write("Enter your choice: ");
int someNum = int.Parse(Console.ReadLine());
switch (someNum)
{
case (int)UserChoices.MenuChoiceOne:
Console.WriteLine("You picked the first choice!");
break;
// etc. etc.
}
}
}
有什么方法可以创建enum 的实例,然后将整个enum 转换为int?
谢谢!
【问题讨论】:
标签: c# enums constants switch-statement