2

このコードの目的は、ユーザーがデータを入力しない場合に「名前を入力してください」という質問を繰り返すことです。ただし、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;
}
4

3 に答える 3

4

line=String.empty代入 ( ) 演算子を使用した代入です。=に割り当てstring.Emptyますline

比較演算子を使用する必要があります==

さらに良いことに、string.IsNullOrWhitespaceメソッド (.NET 4.0+) またはstring.IsNullOrEmpty.

于 2012-09-23T10:32:04.083 に答える
2

if 句を に変更するif(line == "")だけで、うまくいくはずです。

=は代入演算子であり、値を比較したいので、==比較演算子を使用する必要があります。

于 2012-09-23T10:33:08.170 に答える
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 answer として使用できますが、それは以上でのみ使用できます.NET 4.....

于 2012-09-23T10:33:57.390 に答える