Kerry G
Kerry G

Reputation: 947

Empty user input exception c#

The aim of this code is to repeat the question "Please enter your name" if the user does not input any data. However I am having trouble with making this work with the if statement.

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

Upvotes: 2

Views: 6379

Answers (3)

Oded
Oded

Reputation: 499042

line=String.empty is an assignment, using the assignment (=) operator. It assigns string.Empty to line.

You should be using the comparison operator ==.

Better yet, look at the string.IsNullOrWhitespace method (.NET 4.0+), or string.IsNullOrEmpty.

Upvotes: 4

Akash KC
Akash KC

Reputation: 16310

As looking your code, the error is in using making condition....You are using assignment operator(=) instead of comparision operator(==)......So do like this :

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

Or,You can simply do like this:

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

Or, you can use string.IsNullOrWhitespace as Oded answer specified but it is only available in .NET 4 or above.....

Upvotes: 2

Tomislav Dyulgerov
Tomislav Dyulgerov

Reputation: 1026

Just change your if clause to if(line == "") and things should be just fine.

= is the assignment operator and you want to compare the values, therefore you should use the == comparison operator.

Upvotes: 3

Related Questions