我需要返回两个变量类型的三个值,所以我决定使用 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;
答案 0 :(得分:0)
您不会做多次退货。您可以设置out变量的值(您已经这样做了)。 您可以返回一个双倍 - 但在您的代码段中,您尝试返回已在“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.