空用户输入异常c#

时间:2012-09-23 10:30:05

标签: c# exception-handling while-loop user-input string

如果用户没有输入任何数据,此代码的目的是重复“请输入您的姓名”这一问题。但是我在使用if语句进行此操作时遇到了问题。

while (true)
{
  Console.WriteLine("Please enter your name:");
  string line = Console.ReadLine();

  if (line=String.empty) //I'm having difficulty making this a valid statement
    Console.WriteLine("Your entry was blank");
  else break;
}

3 个答案:

答案 0 :(得分:4)

line=String.empty是一个作业,使用赋值(=)运算符。它会将string.Empty分配给line

您应该使用比较运算符==

更好的是,请查看string.IsNullOrWhitespace方法(.NET 4.0+)或string.IsNullOrEmpty

答案 1 :(得分:2)

只需将您的if子句更改为if(line == ""),事情应该没问题。

= 是赋值运算符,您希望比较这些值,因此您应该使用 == 比较运算符。

答案 2 :(得分:2)

在查看代码时,错误在于使用条件....您使用assignment operator(=)代替comparision operator(==) ......所以这样做:

if (line == String.Empty)
{
       //Put your code
}

或者,您可以这样做:

if (string.IsNullOrEmpty(line)) 
           Console.WriteLine("Your entry was blank");

或者,您可以将string.IsNullOrWhitespace用作指定的Oded答案,但只能在.NET 4或更高版本中使用.....