Подсчет среднего значения из элементов словаря - C#
Формулировка задачи:
Доброго времени суток!
Помогите разобраться, так как застрял немного.
Есть словарь:
И есть некий объект:
Свойства объекта могут быть различными. Надо, каким-то образом, в зависимости от свойств объекта, подсчитать среднее арифметическое из словаря. В данном случае (0,8+0,8+0,8)/3. Как бы это можно было реализовать?
Dictionary<string, double> Exp = new Dictionary<string, double>() { // кольори ["red"] = 0.8, ["orange"] = 0.8, ["pink"] = 0.8, ["yellow"] = 0.8, ["green"] = 0.8, ["blue"] = 0.8, ["violet"] = 0.8, ["black"] = 0.8, ["brown"] = 0.8, ["white"] = 0.8 ... }
public class SomeObject { ... // кольори bool red = true, orange = false, yellow = true, green = false, blue = false, violet = false, black = true, brown = false, white = false ... }
Решение задачи: «Подсчет среднего значения из элементов словаря»
textual
Листинг программы
public double Calculate_Motivation(SomeObject a) //підраховуєм мотивацію { double sum = 0; int count = 0; foreach (var field in a.GetType().GetFields(BindingFlags.Instance | BindingFlags.NonPublic)) if (Exp.ContainsKey(field.Name) && (bool)(field.GetValue(a)) && GlobalVars.IsBool(a)) { count++; sum += Exp[field.Name]; } return (sum / count); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д