【问题标题】: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 == "") 就可以了。

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2020-08-21
          • 2013-04-14
          • 1970-01-01
          • 1970-01-01
          • 2013-04-14
          • 2013-09-21
          • 1970-01-01
          相关资源
          最近更新 更多