如果用户在int数组中输入字符串,如何创建错误消息
本文关键字:何创建 创建 消息 错误 int 用户 数组 字符串 输入 如果 | 更新日期: 2023-09-27 18:20:21
基本上,我希望程序在向int数组中输入字符串时显示错误消息,但我不知道如何做到这一点,也不知道当用户按下"*"字符时如何终止和输入:
static void Main(string[] args)
{
// array
int[] ft = new int[2];
for (int i = 0; i < 2; i++)
{
Console.WriteLine("number:");
ft[i] = Convert.ToInt32(Console.ReadLine());
}
Console.Read();
}
用替换此行ft[i] = Convert.ToInt32(Console.ReadLine());
string input = Console.ReadLine();
if (input == "*") // first check, if user wants to exit the app
break; // or return;
int number;
if (!int.TryParse(input, out number)) // validate input
{
Console.WriteLine("not a number");
// here you could do i-- and continue;
}
else
{
ft[i] = number;
}
使用TryParse
检查它是否为int:
for (int i = 0; i < 2; i++)
{
Console.WriteLine("number:");
string input = Console.ReadLine();
int num;
if(int.TryParse(input, out num))
ft[i] = num;
else
break;
}
如果是一个int,TryParse将返回true,num
将是int值。否则,TryParse
将返回false。
这是一种非常常见的验证输入的方法。
请改用int.TryParse(),因为它允许您在不依赖抛出和捕获异常的情况下检查解析错误。
int tmp;
bool success = int.TryParse(Console.ReadLine(), out tmp);
if (success)
{
ft[i] = tmp;
}
else // error handling here