对if语句施加限制

时间:2014-09-15 15:12:14

标签: c# if-statement console-application

这是一个非常基本的问题,但我如何只在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);}

3 个答案:

答案 0 :(得分:6)

使用int.TryParse

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)