Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.51/55: Рейтинг темы: голосов - 55, средняя оценка - 4.51
0 / 0 / 1
Регистрация: 14.09.2014
Сообщений: 97

Отсортировать Dictionary по ключу

14.06.2015, 12:33. Показов 10274. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В общем, у меня есть такой код
C#
1
2
3
4
5
6
7
8
9
  Dictionary<string, string> dictionary = new Dictionary<string, string>()
            {
                {"Gogol'", "Mertvie Dushi"},
                {"Den Brawn", "Kod Da Vonchi"},
                {"Strugatski", "Zabitiy Mir"},
                {"Bulgakov", "Master i Margarita"}
 
                
            };
Я в своей задаче вывожу на экран ключи ( Гоголь, Ден Браун и тд) в том порядке, как они вписаны, но мне нужно их отсортировать и выводить в алфавитном порядке. Я могу вывести их в алфавитном порядке таким образом:
C#
1
2
3
4
5
foreach (var x in dictionary.OrderBy(x => x.Key))
                        {
                            Console.WriteLine("{0} - {1}", x.Key, x.Value);
                            
                        }
Но сами по себе они не сортируются и остаются на своих местах, а как мне их конкретно отсортировать?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.06.2015, 12:33
Ответы с готовыми решениями:

Отсортировать Dictionary по ключу состоящий из кортежа, и отсортировать по второму элементу кортежа
В общем, у меня есть такой код: Dictionary&lt;(int, int), int&gt; _data = new Dictionary&lt;(int, int), int&gt;(); как его отсортировать...

Выборка из Dictionary по ключу
Всем привет! Первая тема на форуме, прошу сильно не ругаться, если я что-то упустил или затупил. Держу игровой сервер, на досуге пишу для...

Dictionary получение элемента по ключу
Интересует такая ситуация. Для простого примера возьмем словарь, в котором в качестве значения будет слово, а в качестве ключа ascii-код...

3
310 / 318 / 119
Регистрация: 29.10.2011
Сообщений: 1,006
14.06.2015, 12:42
C#
1
dictionary = dictionary.OrderBy(x => x.Key).ToDictionary(x => x.Key, x => x.Value);
1
foo();
 Аватар для rattrapper
886 / 587 / 222
Регистрация: 03.07.2013
Сообщений: 1,549
Записей в блоге: 2
14.06.2015, 12:59
Лучший ответ Сообщение было отмечено tezaurismosis как решение

Решение

Michel, sldp, емнип, словари в шарпах могут не сохранять порядок. Смотрите в сторону SortedDictionary
1
Администратор
Эксперт .NET
 Аватар для tezaurismosis
9673 / 4825 / 763
Регистрация: 17.04.2012
Сообщений: 9,664
Записей в блоге: 14
14.06.2015, 13:47
Можно сортировать на лету коллекцию ключей Dictionary.KeyCollection
C#
1
2
3
foreach (string key in dict.Keys.OrderBy(x => x)) {
    Console.WriteLine("{0}: {1}", key, dict[key]);
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.06.2015, 13:47
Помогаю со студенческими работами здесь

Dictionary: обращение по ключу и по индексу
Помогите исправить, необходимо написать класс к элементам которого можно обращаться по ключу и индексу using System; using...

Поиск значения по ключу в Dictionary
Как сделать что бы я вводил &quot;ttt&quot;, а мне выводила &quot;глицин&quot; и наоборот все варианты? using System; using...

Получить обьект по строке ключу в Dictionary
Здравствуйте! Это достаточно простой вопрос, но с ним возникли трудности. Мне нужен ассоциативный массив, доступ к элементам которого...

Объединение значений двух Dictionary по ключу
Добрый день! Есть два Dictionary&lt;string, List&lt;string&gt;&gt;: Dictionary&lt;string, List&lt;string&gt;&gt; first; Dictionary&lt;string,...

Вывод на экран значений по ключу (Dictionary)
У меня есть класс который состоит из списка сотрудников лаборатории. Как мне написать метод который бы выводил список сотрудников по...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru