Метод возврата значения C#

Мне нужна помощь в создании трех методов перегрузки, называемых GetPrice(). Для всех трех методов GetPrice () должна возвращать цену от одного до трех параметров. Если передан один параметр (цена), по умолчанию количество равно 1 и налог не взимается. Если переданы два параметра, цена и количество, налог не взимается. Если переданы три параметра: цена, количество и процент налога с продаж (десятичное число, представляющее процент), возвращаемая цена * количество + (цена * количество * налог с продаж). Я новичок в C#, на самом деле не знаю много, просто хочу знать, что вы решите эту простую проблему.

2 ответа

Три простых метода, предполагающих, что ваш налог представляет собой двойной процент (т. Е. 5% будут переданы как 0,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);
}

Не проверял, но что-то вроде этого, это должно помочь вам

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
}
Другие вопросы по тегам