Обычно это решается с помощью функции.В вашем случае уже есть функция 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);