gpt4 book ai didi

C# 整数验证

转载 作者:行者123 更新时间:2023-11-30 13:37:47 24 4
gpt4 key购买 nike

我搜索了 stackoverflow,但没有找到任何可以回答我问题的内容。不幸的是,将其作为搜索查询来表述并不是一个简单的问题。

我使用的是 C#,我有一个菜单,要求用户从 1 - 4 中选择一个选项。我验证选择的值是一个整数,但每当我输入字母或符号时,我的代码就会中断。如何将对此的验证添加到?我目前的代码如下。

    static void Main(string[] args)
{
DirectoryInfo folderInfo = new DirectoryInfo("C:\\Windows");
FileInfo[] files = folderInfo.GetFiles();
int mainMenuChoice=0;
while ( mainMenuChoice != 1 || mainMenuChoice!= 2 || mainMenuChoice!= 3 || mainMenuChoice!= 4)
{
Console.WriteLine("What would you like to do?");
Console.WriteLine("1. Full File Listing.");
Console.WriteLine("2. Filtered File Listing.");
Console.WriteLine("3. FolderStatistics.");
Console.WriteLine("4. Quit.");

mainMenuChoice = int.Parse(Console.ReadLine());
if (mainMenuChoice == 1)
{
Option1();
}
if (mainMenuChoice == 2)
{
Option2();
}
if (mainMenuChoice == 3)
{
Option3();
}
if (mainMenuChoice == 4)
{
}
else
{
Console.WriteLine("you didnt enter a valid input! try again.");
}
}

最佳答案

将命令行中的读数改为

if(Int32.TryParse(Console.ReadLine(), out mainMenuChoice))
{
if (mainMenuChoice == 1)
Option1();
else if (mainMenuChoice == 2)
Option2();
else if (mainMenuChoice == 3)
Option3();
else if (mainMenuChoice == 4)
Option4();
else
Console.WriteLine("you didnt enter a valid input! try again.");
}
else
{
Console.WriteLine("you didnt enter a valid input! try again.");
}

并在 TryParse if 的 else 部分为您的用户重复警告消息。

Int32.TryParse当命令行中的字符无法转换为整数并分配给输出参数mainMenuChoice时,返回false。

关于C# 整数验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20913734/

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