2012-09-23 54 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 == ""),事情應該沒問題。

=是賦值運算符和要比較的值,因此,你應該使用==比較操作。