无法分配给“ ”,因为它是 '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 为真,您无需再次进行比较。)
我是 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 为真,您无需再次进行比较。)