Многоуровневая ошибка словаря в C#
Я использую следующий код, чтобы сделать JSON
FilterModel f = new FilterModel();
f.FilterName = "EducationLevel";
f.filterValue = new List<string>();
f.filterValue.Add("BE");
f.GroupName="Education";
FilterDictionary d = new FilterDictionary();
d.FilterValuse = new Dictionary<string, List<string>>();
d.FilterValuse.Add(f.FilterName, f.filterValue);
FilterSelectModel ff = new FilterSelectModel();
ff.Filters = new Dictionary<string, Dictionary<string, List<string>>>();
ff.Filters[f.GroupName].Add(f.FilterName, f.filterValue);
var json = new JavaScriptSerializer().Serialize(ff);
Response.Write(json);
но это показывает исключение в нижней строке
ff.Filters[f.GroupName].Add(f.FilterName, f.filterValue);
это показывает следующую ошибку
Данный ключ отсутствует в словаре
Что пошло не так? любой может мне помочь
1 ответ
Решение
Изменить этот код:
ff.Filters[f.GroupName].Add(f.FilterName, f.filterValue);
Для того, чтобы:
ff.Filters.Add(f.GroupName, new Dictionary<string, List<string>>()
{ {f.FilterName, f.filterValue} });
Надеюсь, что это решит вашу проблему.
Проверьте это Как: Инициализировать словарь с Инициализатором Коллекции (Руководство по программированию в C#)