C#. Dictionary. Ссылка на объект не указывает на экземпляр объекта

            Dictionary<int, List<Car>> list = new Dictionary<int, List<Car>>();
            if (model.Distinct().Any())
            {
                foreach (var item in model)
                {
                    if (!list.ContainsKey(item.CompanyId))
                        list.Add(item.CompanyId, null);

                    if (list.ContainsKey(item.CompanyId))
                    {
                        var cars = model.Where(x => x.CompanyId == item.CompanyId).Select(x => x.Car);
                        list[item.CompanyId].AddRange(cars);
                    }
                        
                }
            }

Вышибает ошибку на list[item.CompanyId].AddRange(cars);

Сама CompanyId = 4, а cars получает необходимые записи из выборки. В чем может быть проблема? Всё перепробовал, но с места так и не сдвинулся.


Ответы (1 шт):

Автор решения: Igor

Вы добавляете в словарь null, после этого .AddRange(cars) от null выдаёт ошибку. Добавляйте в словарь новый список:

if (!list.ContainsKey(item.CompanyId))
  list.Add(item.CompanyId, new List<Car>());
                           ^^^^^^^^^^^^^^^
→ Ссылка