Подсчет среднего значения из элементов словаря - C#

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток! Помогите разобраться, так как застрял немного. Есть словарь:
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
            ...
}
Свойства объекта могут быть различными. Надо, каким-то образом, в зависимости от свойств объекта, подсчитать среднее арифметическое из словаря. В данном случае (0,8+0,8+0,8)/3. Как бы это можно было реализовать?

Решение задачи: «Подсчет среднего значения из элементов словаря»

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);
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.375 из 5
Похожие ответы