Повторное использование одного метода с более чем одним свойством - PullRequest
0 голосов
/ 23 октября 2018

В последнее время я столкнулся с этой проблемой программирования.Я хочу многократно использовать этот «средний» метод, но с другими целочисленными свойствами.Я пытался путешествовать по Интернету в поисках чего-то похожего, но ничего не нашел.Поэтому я хотел бы попросить вас о небольшой помощи.Может быть, вы могли бы предложить мне что-то более полезное или, возможно, этот тип решения проблем для этой ситуации вообще не подходит?

public double CountAverage(NameOfTheProperty)
{
    double Average = 0;
    double Amount = 0;

    foreach (Athlete athlete in this.Athletes)
    {
        Amount += athlete.NameOfTheProperty;
    }

    return Average;
}

1 Ответ

0 голосов
/ 23 октября 2018

Обычно это решается с помощью функции.В вашем случае уже есть функция LINQ для этого (называемая Average), но чтобы показать вам, как она работает:

public double CountAverage(Func<Athlete, double> func)
{
    double Average = 0;
    double Amount = 0;

    foreach (Athlete athlete in this.Athletes)
    {
        Amount += func(athlete);
    }

    return Amount / this.Athletes.Count;
}

Вы используете это так:

double d = CountAverage(a => a.NameOfProperty);

Версия LINQ:

double d = this.Athletes.Average(a => a.NameOfProperty);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...