如果用户输入不是数字

If user input is not a number

这是一个非常简单的脚本,我正在努力弄清楚,我一直在寻找一个简单的答案,但在论坛或我的 C# 书中找不到它。

Console.Write("Enter a Number\n");
int input = Convert.ToInt32(Console.ReadLine()); //convert code to an integer

if (!Int32.IsNumber(input)) //if not a whole number input give an error
{
    Console.WriteLine("Not an integer");
}

我想做的就是这么简单。这是来自更大代码的片段。

Console.Write("Enter a Number\n");
string input = Console.ReadLine(); //get the input
int num = -1;
if (!int.TryParse(input, out num))
{
    Console.WriteLine("Not an integer");
}
else
{
   ...
}
如果字符串不是有效整数,

Int.TryParse 将 return 为假,反之亦然

我从许多答案中找出了最简单和最好的代码来完成这个:

Console.Write("\nEnter a Whole Number (Such as 12)\n");
string Input = Console.ReadLine();

char firstChar = Input[0];
bool isNumber = Char.IsDigit(firstChar);

if (!isNumber)
{
     Console.WriteLine("Not an integer");
} 
else 
 {
.......
}