繁体   English   中英

如何为该方法返回2个值?

[英]How do I return 2 values for this method?

这是我当前的代码:

public static double CalculateTip(double totalExpense)
{
    const double TIP1 = 0.15;

    return totalExpense * TIP1;
}

//Calculation for tip 2 
public static double CalculateTip2(double totalExpense)
{
    const double TIP2 = 0.20;

    return totalExpense * TIP2;

}

如何将2合并为1? 我的程序运行良好,并且按照教授的指示运行,但是我使用了5种方法而不是4种方法。显然,您必须能够将这两种方法结合起来,否则他不会说他只需要4种方法。

程序的最终输出如下所示

Tip Calculator
Please enter the total:

Clear console

                      Tip Calculator
The total before taxes and tip: 50.00 (user input obviously)
Taxes : $4.50
Tip 15%: $7.50
Total including taxes and 15% tip: $62.00
Tip 20%: 10:00
Total including taxes and 20% tip: $64.50

考虑使用元组

Tuple<double, double> CalculateTip(double totalExpense)
{
    const double TIP1 = 0.15;
    const double TIP2 = 0.20;
    return Tuple.Create<double, double>(totalExpense * TIP1, totalExpense * TIP2);
}

只要您有两个方法(除了某些常数)相同,就应该考虑将其作为方法的参数。

该方法应该做一件事,计算小费金额(而不是计算两个小费金额)。

考虑将小费百分比传递到方法中并调用两次。

另外,请勿使用双精度货币,而应使用Decimal

将Tip作为附加参数传递给(通用)CalculateTip()函数(这样该函数将具有两个参数,tip和totalExpense),并使用不同的Tip值对其进行两次调用。 实际上,它是相同的功能-只是在不同的参数上运行。

您应该使方法采用尖端百分比,而不是使方法内具有恒定值。 将常量保持在类级别,并在方法调用中使用它们。 这使其更具动态性,并且可以组合。

readonly double TIP1 = 0.15;
readonly double TIP2 = 0.20;

public static double CalculateTip(double totalExpense, double tip)
{
    return totalExpense * tip;
}

然后,在调用该方法时,您可以指定要使用的提示值:

var tip1Value = CalculateTip(20.00,TIP1);
var tip2Value = CalculateTip(20.00,TIP2);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM