我希望用户能够输入一个选项,让程序与其中一个enum选项匹配.我把它在一个循环设置,使用户可以不断尝试,如果他们的条目不匹配(即Apple,Banana,Carrots).
enum Food {Apple, Banana, Carrot};
Food foodChoice;
while (!(Enum.TryParse<Food>(Console.ReadLine(), true, out foodChoice)))
{
Console.WriteLine("Not a valid choice.");
}
Run Code Online (Sandbox Code Playgroud)
这一切都很好,花花公子,直到用户进入,比方说5.显然,Food枚举没有那么多选项,TryParse仍然会输出true,分配foodChoice给5.是否有一种简单的方法来处理这个问题?
尝试使用该Enum.IsDefined方法:
Food foodChoice;
while (!Enum.TryParse(Console.ReadLine(), true, out foodChoice)
|| !Enum.IsDefined(typeof(Food), foodChoice))
{
Console.WriteLine("Not a valid choice.");
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
439 次 |
| 最近记录: |