大家好,我一般都是编程的初学者。所以我的问题是如何在我的简单代码中处理空的用户输入?每次按下输入时都会给出我的错误。 我的代码:
contactToUpdate.Last_Advisor_Touch__c = new Da te();
任何想法?感谢。
答案 0 :(得分:0)
尝试类似以下内容
string line = Console.ReadLine();
if(!string.IsNullOrEmpty(line)){
//Non empty input
}else{
//Handle here
}
答案 1 :(得分:0)
您有两种选择:
使用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
}
答案 2 :(得分:0)
您可以使用String.IsNullOrWhiteSpace方法检查空用户输入。此方法检查任何输入上的空白空间或空输入。
您可以像这样查看输入:
if (string.IsNullOrWhiteSpace(line))
{
...//parse
}
由于您正在解析整数,因此您可能希望使用Int32.TryParse函数来解析数据。它将返回一个布尔值,指示输入是否已成功解析。
int i =0;
if (Int32.TryParse(Console.ReadLine(), out i))
{
...//continue
}
答案 3 :(得分:0)
static void Main(string[] args)
{
int i;
Console.Write(" Enter a number: ");
if (Int32.TryParse(Console.ReadLine(), out i))
{
if (i % 2 == 0)
{
Console.Write(" The number is even");
}
else
{
Console.Write(" The number is odd");
}
}
else
{
Console.Write(" You have to enter a number I can parse into an integer, dummy!");
}
}