gpt4 book ai didi

c# - 用户选择枚举范围之外的值时出现问题

转载 作者:太空狗 更新时间:2023-10-30 00:18:37 24 4
gpt4 key购买 nike

我希望用户能够输入一个选择,然后让程序将他们的选择与 enum 选项之一相匹配。我将其设置为一个循环,以便用户可以在输入不匹配时继续尝试(即 AppleBananaCarrots) .

enum Food {Apple, Banana, Carrot};

Food foodChoice;
while (!(Enum.TryParse<Food>(Console.ReadLine(), true, out foodChoice)))
{
Console.WriteLine("Not a valid choice.");
}

在用户输入之前,这一切都很好而且花花公子,比如 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.");
}

关于c# - 用户选择枚举范围之外的值时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33660746/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com