Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
空用户输入异常c#_C#_Exception Handling_While Loop_User Input_String - Fatal编程技术网

空用户输入异常c#

空用户输入异常c#,c#,exception-handling,while-loop,user-input,string,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.WriteLin

此代码的目的是在用户未输入任何数据时重复“请输入您的姓名”的问题。但是,我在使用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;
}

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

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


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

只要将if子句更改为
if(line==”)
,事情就会好起来


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

查找代码时,错误在于使用生成条件……您使用的是
赋值运算符(=)
而不是
比较运算符(=)
…因此,请执行以下操作:

if (line == String.Empty)
{
       //Put your code
}
或者,您可以这样做:

if (string.IsNullOrEmpty(line)) 
           Console.WriteLine("Your entry was blank");
或者,您可以使用
string.IsNullOrWhitespace
作为指定的Oded答案,但它仅在
.NET 4
或更高版本中可用