字符串与空字符串比较中的异常

时间:2014-08-15 12:03:34

标签: c# string if-statement

我是c#编程的新手。我试图制作一个计算器,我想在其中包含退格。我有一个问题,if语句不起作用。 这是我的代码

    if ((result.Text != "0")||(result.Text.Length>0))
        {
            result.Text = result.Text.Remove(result.Text.Length - 1);
        }

result是我在Visual Studio中创建的textField的名称。基本上我想要的是,如果文本不是0或者result.text的长度大于0(所以它不是空字符串)来删除result.text的最后一个字符。由于某种原因,if语句的条件不起作用,最后它抛出了一个异常“ mscorlib.dll中出现未处理的类型'System.ArgumentOutOfRangeException'异常

有什么想法吗?谢谢!

2 个答案:

答案 0 :(得分:3)

错误在||运算符中,应为&&

  if ((result.Text != "0") && (result.Text.Length>0))

更好的检查是

  if ((result.Text != "0") && (!String.IsNullOrEmpty(result.Text)))
    ...

可以帮助您result.Text == null

答案 1 :(得分:0)

好像你正在使用|| (或)代替&& (和)。请尝试以下方法:

if ((result.Text != "0")&&(result.Text.Length>0))
    {
        result.Text = result.Text.Remove(result.Text.Length - 1);
    }