1

2 つの変数型の 3 つの値を返す必要があったため、refパラメーターとoutパラメーターを使用することにしましたが、実装に問題があります。これらの「メソッド 'GETValues' のオーバーロードは 0 引数を取ります」というエラーが発生し続けます。私は何を間違っていますか?

public static double GETValues(out string empName, out double dblSal, out double dblMonthSales)
    {
        string salaryStr,
               monthlySales;

        Console.Write("Enter employee's name (enter nothing to quit) : ");
        empName = Console.ReadLine();
        Console.Write("Enter Annual Salary (0 for pure commission): ");
        salaryStr = Console.ReadLine();
        dblMonthSales = Double.Parse(salaryStr);
        Console.Write("Enter monthly sales: ");
        monthlySales = Console.ReadLine();
        dblSal = Double.Parse(monthlySales);

        return dblMonthSales;
        return dblSal;
4

1 に答える 1

0

複数の返品は行いません。out 変数の値を設定します (既に行っています)。1 つの double を返すことができますが、スニペットでは、「out」パラメーターで既に設定した 2 つの値を返そうとしています。

呼び出しコードは次のようになります。

string empname = "default";
double salary = 0.0;
double monthSales = 0.0;
double whatIsThis = GETValues(empname, salary, monthsales);
// empname, salary and monthSales should now be set correctly.
// not sure what you intend for the return val.
于 2012-10-22T22:28:39.447 に答える