方法 c# 没有重载

本文关键字:重载 方法 | 更新日期: 2023-09-27 18:35:40

我已经在众多网站上搜索了一个解决方案,但我不能完全掌握重载方法的概念,至少对于这个方法不是,因为我看不到我哪里出了问题。每当我尝试调用下面所述的方法时,我都会收到此错误 - "方法'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[]
    }
}

方法 c# 没有重载

您似乎正在尝试在没有任何参数的情况下调用此函数。在您的情况下,您只使用 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);

您可能正在按如下方式调用您的方法:

arrayCalculator();

解决问题的两种方法。

  1. 将三个必需的参数发送到要调用的方法。
  2. 修改您的arrayCalculator method

1

arrayCalculator(parameter1, parameter2, parameter3);

阿拉伯数字

修改方法,使调用该方法所需的参数为零。

你调用它时没有参数。 使用 3 个参数调用它。