我是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'异常 ”
有什么想法吗?谢谢!
答案 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);
}