这是一个非常基本的问题,但我如何只在if语句中允许数字值? 例如,如果用户输入字符串作为id,则应该给出一个错误,指出只允许数值。
Console.Write("Please enter your ID: ");
int id = Int32.Parse(Console.ReadLine());
if () // what should I write here?
{
Console.WriteLine("Only Numeric value are allowed.");
}else{
Console.WriteLine("My ID is {0}", id);}
答案 0 :(得分:6)
Console.Write("Please enter your ID: ");
int id;
if (!int.TryParse(Console.ReadLine(), out id)) // what should I write here?
{
Console.WriteLine("Only Numeric value are allowed.");
}
else
{
Console.WriteLine("My ID is {0}", id);
}
如果解析失败, TryParse
方法组将不会引发异常,而是返回指示成功或失败的bool
。
答案 1 :(得分:3)
您应该使用int.TryParse
if
中进行解析
int id;
if (Int32.TryParse(Console.ReadLine(), out id))
{
// it's an integer!
}
else
{
}
答案 2 :(得分:0)
您可以使用正则表达式,例如:
if(Regex.IsMatch("[0-9]") == false)