我在数字网站上搜索过一个解决方案,但是我不能完全理解重载方法的概念,至少不是这个概念,因为我无法看到我在哪里出错。每当我尝试调用下面描述的方法时,我都会收到此错误 - “方法没有重载'arrayCalculator'需要0个参数”。我希望你能帮助我。感谢。
public class Calculations
{
public static int[] arrayCalculator(object sender, EventArgs e, int m)
{
int i;
int[] result = new int[9];
int[] timesTable = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
for (i = 0; i <= 9; i++)
{
result[i] = m * timesTable[i];
System.Diagnostics.Debug.WriteLine("Calculation successful: " + m + " * " + timesTable[i] + " = " + result[i] + ".");
}
return result; // returns int result[]
}
}
答案 0 :(得分:1)
您似乎试图在没有任何参数的情况下调用此函数。在您的情况下,您只使用int参数,因此您应该使用下面的函数。
public class Calculations
{
public static int[] arrayCalculator(int m)
{
int i;
int[] result = new int[9];
int[] timesTable = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
for (i = 0; i <= 9; i++)
{ result[i] = m * timesTable[i];
System.Diagnostics.Debug.WriteLine("Calculation successful: " + m + " * " + timesTable[i] + " = " + result[i] + ".");
}
return result; // returns int result[]
}
}
编辑:
您正在通过arrayCalculator();
调用此函数而是将参数传递给函数,以便函数知道在代码中使用什么代替'm'。
示例:
假设计算类型为Calculations
。那你就有了
var mValue = 20;
var result = calculations.arrayCalculator(mValue);
答案 1 :(得分:0)
你可能正在调用你的方法如下:
arrayCalculator();
解决问题的两种方法。
arrayCalculator method
。<强> 1 强>
arrayCalculator(parameter1, parameter2, parameter3);
<强> 2 强>
修改您的方法,以便调用它时需要零参数。
答案 2 :(得分:-1)
您正在调用它而没有参数。用3个参数调用它。