我想限制用户只输入整数,如果用户输入任何字母表或字符串,应该会在C#中出现错误
本文关键字:用户 输入 错误 字符串 字母表 整数 任何 如果 | 更新日期: 2023-09-27 18:01:03
我想限制用户只输入整数,如果用户输入任何字母表或字符串,它应该在c#中显示错误
Console.WriteLine("enter a");
int a = int.Parse(Console.ReadLine());
Console.WriteLine("enter b");
int b = int.Parse(Console.ReadLine());
Program e = new Program();
int sum= e.sum( a, b);
Console.WriteLine("sum is " + sum);
public int sum(int a, int b)
{
int sum = a + b;
return sum;
}
只有当您想检查整数的条件时才使用此选项
string strValue = Convet.toString("YourValue");
if(int.TryParse(strValue , out value))
{
}
else
{
//Value is Not Integer.
}
string a = Console.ReadLine();
string b = Console.ReadLine();
int inputnumber1 = 0;
int inputnumber2= 0;
if (int.TryParse(a,out inputnumber1))
{
}
就像
您可以尝试捕获:
try
{
Console.WriteLine("enter a");
string a = Console.ReadLine();
Console.WriteLine("enter b");
string b = Console.ReadLine();
a=int.parse(a);
b=int.parse(b);
Program e = new Program();
int sum= e.sum( a, b);
Console.WriteLine("sum is " + sum);
public int sum(int a, int b)
{
int sum = a + b;
return sum;
}
}
catch(FormatException e){Console.WriteLine("Wrong input");}
或者,你也可以这样做来获得用户输入,如果失败,重复请求以获得参数:
Boolean wrongInput=true;
string read;
int a;int b;
while(wrongInput)
{
Console.WriteLine("enter a");
read = Console.ReadLine();
bool isNumeric = int.TryParse(read, out a);
if(isNumeric){wrongInput=false;}
}
wronginput=while(wrongInput)
{
Console.WriteLine("enter b");
read = Console.ReadLine();
bool isNumeric = int.TryParse(read, out b);
if(isNumeric){wrongInput=false;}
}
您可以在将输入解析为int.之前进行检查
string input = Console.Readline();
if(IsInt(input))
int a = int.Parse(input);
else
//Error message here
private bool IsInt(string in)
{
string intChars = "0123456789";
return in.All(intChars.Contains);
}
另一种选择是使用int.TryParse((,请参阅https://msdn.microsoft.com/de-de/library/f02979c7(v=vs.110(.aspx。