无法分配给“ ”,因为它是 'method group'

Cannot assign to ' ' because it is a 'method group'

我是 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)

因为它导致了一个错误 "Cannot assign to 'IsInfinity' because it is a 'method group'",我正在努力寻找解决这个问题的方法,我们将不胜感激。 谢谢

您的代码有两个问题。

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

IsInfinity(number1)

其次,您试图方法设置为真,而不是比较其结果为真。你想要的是

if(IsInfinity(number1) == true) 

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

if(IsInfinity(number1))

(因为它已经 returns 为真,您无需再次进行比较。)