1

我是 C# 和一般编程的新手,在大学的作业中,我被要求编写一个计算器,我遇到了一些麻烦,这是我的代码:

    private bool IsInfinity(long result)
    {
        if (result > Int32.MaxValue || result < Int32.MinValue)
        {
            errorFound = true;
            return true;
        }
        else
        {
            return false;
        }
    }

    private double Add(double number1, double number2)
    {
        if (IsInfinity = true)
        {
            errorFound = true;
            return 0;
        }
        else
        {
            double result = number1 + number2;
            result = Math.Round(result, 2);
            return result;
        }
    }

线路有问题,

    if (IsInfinity = true)

因为它导致了一个错误,上面写着“无法分配给'IsInfinity',因为它是一个'方法组'”,我正在努力寻找解决方案,任何帮助将不胜感激。谢谢

4

1 回答 1

1

您的代码有两个问题。

首先,IsInfinity是一个方法(或一组方法,如果有多个重载),所以你需要用一些参数来调用它。就像是

IsInfinity(number1)

其次,您试图将方法设置为 true,而不是其结果与 true 进行比较。你想要的是

if(IsInfinity(number1) == true) 

(注意两个等号)。或者,更简洁地说,

if(IsInfinity(number1))

(因为它已经返回 true,您不需要再次进行比较。)

于 2015-11-05T17:21:53.730 回答