【问题标题】:Empty user input exception c#空用户输入异常c#
【发布时间】:2012-09-15 02:50:00
【问题描述】:
此代码的目的是在用户未输入任何数据时重复“请输入您的姓名”问题。但是,我在使用 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;
}
【问题讨论】:
标签:
c#
exception-handling
while-loop
user-input
string
【解决方案1】:
line=String.empty 是一个赋值,使用赋值 (=) 运算符。它将string.Empty 分配给line。
您应该使用 comparison 运算符==。
更好的是,查看 string.IsNullOrWhitespace 方法 (.NET 4.0+) 或 string.IsNullOrEmpty。
【解决方案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 或更高版本.....
【解决方案3】:
只需将您的 if 子句更改为 if(line == "") 就可以了。
= 是赋值运算符,您要比较值,因此您应该使用 == 比较运算符。