C#-如何处理空用户输入?
大家好,我还是编程的初学者。所以我的问题是如何在我的简单代码中处理空的用户输入?每次我按enter键时,如果没有输入值,就会出现错误。 我的代码:C#-如何处理空用户输入?,c#,compiler-errors,C#,Compiler Errors,大家好,我还是编程的初学者。所以我的问题是如何在我的简单代码中处理空的用户输入?每次我按enter键时,如果没有输入值,就会出现错误。 我的代码: 有什么想法吗?谢谢。试试下面的方法 string line = Console.ReadLine(); if(!string.IsNullOrEmpty(line)){ //Non empty input }else{ //Handle here } 您有两个选择: 使用TryParse而不是Parse。这样就不会引发异常,您可以测试该值是否
有什么想法吗?谢谢。试试下面的方法
string line = Console.ReadLine();
if(!string.IsNullOrEmpty(line)){
//Non empty input
}else{
//Handle here
}
您有两个选择:
TryParse
而不是Parse
。这样就不会引发异常,您可以测试该值是否有效,如果无效,请再次询问try
catch
块中,以优雅地处理异常并要求用户重试static void Main (String[] args)
{
int i;
Console.Write (" Enter a number: ");
bool result = int.TryParse(Console.ReadLine(), out i);
if (result)
{
// your normal code
}
else
{
Console.WriteLine("That wasn't a number.");
}
}
static void Main (String[] args)
{
int i;
try
{
Console.Write (" Enter a number: ");
i = int.parse (Console.ReadLine());
}
catch (Exception)
{
Console.WriteLine("That wasn't a number.");
return;
}
// rest of your code
}
第二种情况是:
static void Main (String[] args)
{
int i;
Console.Write (" Enter a number: ");
bool result = int.TryParse(Console.ReadLine(), out i);
if (result)
{
// your normal code
}
else
{
Console.WriteLine("That wasn't a number.");
}
}
static void Main (String[] args)
{
int i;
try
{
Console.Write (" Enter a number: ");
i = int.parse (Console.ReadLine());
}
catch (Exception)
{
Console.WriteLine("That wasn't a number.");
return;
}
// rest of your code
}
您可以使用该方法检查空用户输入。此方法检查任何输入上是否有空格或空输入 您可以这样检查输入:
if (string.IsNullOrWhiteSpace(line))
{
...//parse
}
但是,由于您正在解析整数,因此可能需要使用函数来解析数据。它将返回一个布尔值,指示输入是否已成功解析
int i =0;
if (Int32.TryParse(Console.ReadLine(), out i))
{
...//continue
}
尝试改用int.TryParse()——如果解析失败,可以循环要求用户重新输入