字符串与空字符串比较时发生异常

本文关键字:字符串 异常 比较 | 更新日期: 2023-09-27 18:18:12

我是c#编程新手。我想做一个计算器,我想把退格功能包括进去。我有一个问题,如果语句不工作。这是我的代码

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

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

任何想法?谢谢!

字符串与空字符串比较时发生异常

错误是在||操作符,它应该是&&:

  if ((result.Text != "0") && (result.Text.Length>0))
然而,更好的检查方法是
  if ((result.Text != "0") && (!String.IsNullOrEmpty(result.Text)))
    ...

如果result.Text == null

你好像在用一个||(或)而不是&&(和)。试试以下命令:

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