我需要帮助创建一个名为GetPrice()的三个重载方法。对于所有这三种方法,GetPrice()应该返回一到三个参数的价格。如果传递单个参数(价格),则将数量默认为1且不含税。如果两个参数通过,价格和数量,则不征税。如果三个参数通过,价格,数量和销售税百分比(十进制代表百分比),退货价格*数量+(价格*数量*销售税)。我不熟悉c#真的很清楚,只是想知道你会做这个简单的问题。
答案 0 :(得分:2)
三种简单的方法,假设您的税是双倍代表百分比(即5%将以.05的形式传递):
public double GetPrice(double price)
{
return price;
}
public double GetPrice(double price, double tax)
{
return price + (price * tax);
}
public double GetPrice(double price, int quantity, double tax)
{
return (quantity * price) + (quantity * price * tax);
}
或@JonSkeet所述,一种默认参数的方法:
public double GetPrice(double price, int quantity = 1, double tax = 0.0)
{
return (quantity * price) + (quantity * price * tax);
}
答案 1 :(得分:0)
Haven没有对它进行过测试,但这样的事情应该会让你前进
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication3
{
class Program
{
public decimal GetPrice(decimal price)
{
return price;
}
public decimal GetPrice(decimal price, int qty)
{
return price * qty;
}
public decimal GetPrice(decimal price, int qty, decimal tax)
{
return price * qty * tax;
}
static void Main(string[] args)
{
}
}
}
或者更有趣的方式,因为您重复使用方法: -
public decimal GetPrice(decimal price)
{
return price
}
public decimal GetPrice(decimal price, int qty)
{
return GetPrice(price) * quantity
}
public decimal GetPrice(decimal price, int qty, decimal tax)
{
return GetPrice(price, qty) * tax
}