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

Добавление по ключу в словарь список из значений массива

07.07.2017, 01:30. Показов 8646. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет! Изучаю C# чуть меньше месяца. Пытаюсь решить задачку - дан список контактов. По первым 2м буквам имени в словарь необходимо записать все значения попадающее под данное правило.
В 16й строчке возникает ошибка "Cannot implicitly convert type 'void' to 'System.Collections.Generic.List<string> '"

Как можно по ключу словарь добавить в него список со значениями?


C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
            List<string> contacts = new List<string>();
            contacts.Add("Ваня:v@mail.ru");
            contacts.Add("Вася:vasiliy@gmail.com");
            contacts.Add("Ваня:ivan@grozniy.ru");
            contacts.Add("Ваня:vanechka@domain.com");
            contacts.Add("Саша:sasha1995@sasha.ru");
            contacts.Add("Саша:alex@nd.ru");
            contacts.Add("Саша:alexandr@yandex.ru");
            string[] kontakt = new string[contacts.Count];  
            contacts.CopyTo(kontakt);
            var dictionary = new Dictionary<string, List<string>>();
            string str;
            for (int i = 0; i < contacts.Count; i++)
            {
                str = kontakt[i].Substring(0, 2);
                dictionary[str] = new List<string>().Add(kontakt[i]);
            }
Спасибо!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.07.2017, 01:30
Ответы с готовыми решениями:

Добавление значений в словарь с TextBox
Здравствуйте, подскажите пожалуйста как добавлять новые значения в словари через textbox на C#? Заранее спасибо!

Добавление в словарь большого количества значений
Прошу помощи. Никак не могу понять. как реализовать следующее. Есть словарь: public Dictionary&lt;string, string&gt; logos = new...

Хранение массива значений по ключу
Стоит задача, проходясь по массиву, сохранить места расположения байтов. Например 63 - 2,15,29,54 и тд. То есть каждый раз когда вновь...

1
964 / 485 / 241
Регистрация: 02.06.2016
Сообщений: 760
07.07.2017, 03:11
axelaxel51, сначала проверяете есть ли ключ, если нет - создаете список, потом - добавляете в список.
*Метод Add не возвращает ничего, поэтому его результат нельзя присвоить никуда, о чем и говорит ошибка в 16 строке.

C#
1
2
3
4
5
6
7
8
9
10
11
for (int i = 0; i < contacts.Count; i++)
{
    var key = kontakt[i].Substring(0, 2);
 
    // создаем список если ключ не найден
    if (!dictionary.ContainsKey(key))
        dictionary[key] = new List<string>();
 
    // добавляем в список по существующему ключу
    dictionary[key].Add(kontakt[i]);
}
Linq вариант:
C#
1
2
3
var anotherDictionary = contacts
    .GroupBy(c => c.Substring(0, 2))
    .ToDictionary(g => g.Key, g => g.ToList(), StringComparer.InvariantCultureIgnoreCase);
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.07.2017, 03:11
Помогаю со студенческими работами здесь

Добавление значений в список
По значение CheckBox создаю список List&lt;string&gt; colorlist = new List&lt;string&gt;(); а теперь хочу в таймере добавлять в него значения пишу ...

Словарь: поменять одно значение в списке, прикрепленному к данному ключу
Доброго времени суток! Не могу разобраться с методом dict.fromkeys. Подскажите пожалуйста, как мне сделать так, что бы менялось одно...

Одной строкой создайте словарь, в котором по ключу строки будет записана пара
Дан массив строк mas. Одной строкой создайте словарь, в котором по ключу строки будет записана пара (кортеж длины 2) (индекс строки в...

Input type range - добавление в список определенных значений
Всем доброго дня. Реализовал на проекте слайдеры калькулятора с помощью input. И всё было прекрасно до сегодняшнего дня. Необходимо внести...

Пусть список студентов представлен в виде структуры. Преобразуйте список в словарь
Пусть список студентов представлен в виде структуры ,,]. Преобразуйте список в словарь вида: {№: , №:, №:} Добавьте для словаря...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
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 Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru