Многоуровневая ошибка словаря в 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#)

Другие вопросы по тегам