空用户输入异常c#
此代码的目的是在用户未输入任何数据时重复“请输入您的姓名”的问题。但是,我在使用if语句时遇到了问题空用户输入异常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
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
或更高版本中可用