2012-09-23 44 views
2

此代码的目的是重复“请输入您的姓名”这个问题,如果用户没有输入任何数据。不过,我在使用if语句进行这项工作时遇到了麻烦。空的用户输入异常c#

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; 
} 

回答

2

至于找你的代码,错误的是使用使病情....你正在使用assignment operator(=),而不是comparision operator(==) ......所以这样做:

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

或者,你可以简单地这样做:

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

或者,你可以使用string.IsNullOrWhitespace按规定俄德的答案,但它只是在.NET 4或以上版本.....

+0

Thankyou非常多人! –

+0

@ user1513637:不客气... –

4

line=String.empty分配,使用分配(=)运算符。它将string.Empty分配给line

您应该使用比较运营商==

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

+0

string.Is NullOrWitespace仅适用于.net 3.5框架.... –

2

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

=是赋值运算符和要比较的值,因此,你应该使用==比较操作。