如果用户没有输入任何数据,此代码的目的是重复“请输入您的姓名”这一问题。但是我在使用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;
}
答案 0 :(得分:4)
line=String.empty
是一个作业,使用赋值(=
)运算符。它会将string.Empty
分配给line
。
您应该使用比较运算符==
。
更好的是,请查看string.IsNullOrWhitespace
方法(.NET 4.0+)或string.IsNullOrEmpty
。
答案 1 :(得分:2)
只需将您的if子句更改为if(line == "")
,事情应该没问题。
= 是赋值运算符,您希望比较这些值,因此您应该使用 == 比较运算符。
答案 2 :(得分: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答案,但只能在.NET 4
或更高版本中使用.....