0 / 0 / 0
Регистрация: 30.09.2018
Сообщений: 4
1

Работа с Dictionary

08.05.2019, 10:35. Показов 1672. Ответов 3

Есть следующий словарь.
C#
1
 var dict = new Dictionary<string, Dictionary<string, int>>();
который содержит следующие данные
C#
1
2
3
4
5
6
7
 
 a: b 3
    c 1 
 b: u 1
    h 2
 c: z 4
    x 5

Помогите сделать новый словарь Dictionary<string, string>. из старого.
Ключ нового словаря = ключ старого. Значение это ключ старого слова с наибольшей частотой.

В новом словаре должно получится.

a:b
b:h
c:x

Большое спасибо.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.05.2019, 10:35
Ответы с готовыми решениями:

Работа с Dictionary
Камрады, не могу справиться с синтаксисом написания кода. Головой понимаю как надо, а написать не...

Работа с Dictionary
Всем здравствуйте! В программе использую словарь с вложенным словарем. Выглядит это вот так:...

Работа с Dictionary. Получение ключа по индексу
У меня есть 2 массива Dictionary&lt;int, double&gt; dict1 и dict2 Нужно сделать чт-то следующее. Не знаю...

Проинициализировать значениями dictionary вложенный в dictionary
Народ, помогите, как проинициализировать значениями такую конструкцию: Dictionary...

3
806 / 555 / 238
Регистрация: 01.07.2018
Сообщений: 1,813
08.05.2019, 11:47 2
Лучший ответ Сообщение было отмечено redwhitealex как решение

Решение

redwhitealex,
C#
1
2
3
var d = dict.ToDictionary(k => k.Key, v=> getKey(v.Value.Values.Max(),v.Value));
//Вспомогательный метод
static string getKey(int val, Dictionary<string, int> dic) => dic.FirstOrDefault(x => x.Value == val).Key;
1
1112 / 725 / 367
Регистрация: 06.02.2012
Сообщений: 2,288
08.05.2019, 17:08 3
redwhitealex,
Можно еще так.
C#
1
2
3
4
5
6
7
8
9
            var max = dict.Select(n => new
            {
                k = n.Key,
                v = n.Value.Where(x => x.Value == n.Value.Values.Max()).FirstOrDefault(),
            }).ToDictionary(x => x.k, i => i.v.Key);
            foreach (var dic in max)
            {
                Console.WriteLine("{0}:{1}", dic.Key, dic.Value);
            }
1
3232 / 2297 / 1129
Регистрация: 14.08.2016
Сообщений: 7,834
08.05.2019, 22:52 4
C#
1
var d = dict.ToDictionary(k => k.Key, v => v.Value.OrderByDescending(x => x.Value).FirstOrDefault().Key);
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.05.2019, 22:52
Помогаю со студенческими работами здесь

Работа со словарём в цикле Dictionary<int, List<string>>
Hi! Есть словарик. private static Dictionary&lt;int, List&lt;string&gt;&gt; test = new Dictionary&lt;int,...

Работа с XML файлами. Выдает ошибку в словаре Dictionary
Вот ошибка, Отсутствует аргумент, соответствующий требуемому формальному параметру &quot;value&quot; из...

Как достать dictionary из dictionary?
Подскажите пожалуйста как получить значение dictionary который находится внутри другого dictionary?...

Создать запрос Dictionary в Dictionary
Только учусь программировать и поэтому не очень разобрался с LINQ. У меня есть ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru