Parameters 方法'没有重载;GETValues';接受0个参数

Parameters 方法'没有重载;GETValues';接受0个参数,parameters,overloading,Parameters,Overloading,我需要返回两种变量类型的三个值,所以我决定使用ref和out参数,但在实现它们时遇到了困难。我不断收到这些“方法'GETValues'不重载0个参数”错误。我做错了什么 public static double GETValues(out string empName, out double dblSal, out double dblMonthSales) { string salaryStr, monthlySales;

我需要返回两种变量类型的三个值,所以我决定使用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;

你不能做多次回报。您可以设置out变量的值(您已经这样做了)。 您可以返回一个double,但在代码段中,您试图返回两个已经在“out”参数中设置的值

您的呼叫代码应该类似于:

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.

看起来您的调用代码没有传递变量-但是由于您没有发布它,我们无法确定。。。您的术语是“奇数”这不会返回3个值,它将填充传入的3个值并返回1个双精度值。好的,让我添加其余的代码。。。