0

私は多数のWebサイトで解決策を探しましたが、メソッドのオーバーロードの概念を完全に理解することはできません。少なくともこれについては、どこが間違っているのかがわからないためです。以下に示すメソッドを呼び出そうとするたびに、「メソッド '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[]
    }
}
4

3 に答える 3

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);
于 2013-10-16T11:52:28.653 に答える
-1

パラメータなしで呼び出しています。3 つのパラメーターで呼び出します。

于 2013-10-16T11:52:28.457 に答える