Получение min и max из массива или списка <keyvaluepair>
У меня есть многомерный массив с в основном парой ключ / значение. Я хотел бы суммировать все значения в соответствии с ключом, а затем выбрать минимальные и максимальные значения из этого.
Я попытался составить список "keyvaluepair"и словарь, чтобы сделать это, я подошел очень близко, но он не позволил мне отсортировать список двойников. Мои списки и массивы создаются правильно и без проблем. Я хотел бы отобразить минимальное/максимальное значение, а также отобразить ключ в той же строке
public static void PrintTable() { string text; var totals = new List<KeyValuePair<string, double>>(); for(int i = 0; i < topics.Length; i++) { Console.Write(topics[i] + " "); double num = 0; for(int j = 0; j < 10; j++) { Console.Write(responses[i, j] + " "); num += responses[i, j] * (j + 1); totals.Add(new KeyValuePair<string, double>( topics[i], num)); } average = num / userCounter; Console.Write("\t" + average.ToString("##.00")); } // Display highest points and lowest points. var addedSums = totals.GroupBy(k => k.Key).ToDictionary(a => a.Key, b => b.Sum(c => c.Value)); foreach(var pair in addedSums.Values.OrderByDescending()) { Console.WriteLine("Highest points: " + pair); }
Что я уже пробовал:
используя массивы/списки/кортежи/словари/keyvaluepairs и многое другое linq и многие другие способы попробовать это, я думал, что это будет просто