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

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

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

Всем привет! Изучаю C# чуть меньше месяца. Пытаюсь решить задачку - дан список контактов. По первым 2м буквам имени в словарь необходимо записать все значения попадающее под данное правило. В 16й строчке возникает ошибка "Cannot implicitly convert type 'void' to 'System.Collections.Generic.List<string>'" Как можно по ключу словарь добавить в него список со значениями?
            List<string> contacts = new List<string>();
            contacts.Add("Ваня:removed@mail.ru");
            contacts.Add("Вася:removed@mail.ru");
            contacts.Add("Ваня:removed@mail.ru");
            contacts.Add("Ваня:removed@mail.ru");
            contacts.Add("Саша:removed@mail.ru");
            contacts.Add("Саша:removed@mail.ru");
            contacts.Add("Саша:removed@mail.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]);
            }
Спасибо!

Решение задачи: «Добавление по ключу в словарь список из значений массива»

textual
Листинг программы
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]);
}

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


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

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

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