c#中的多级字典错误

本文关键字:字典 错误 多级 | 更新日期: 2023-09-27 18:23:39

Im使用以下代码制作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);

它显示以下错误

字典中不存在给定的密钥

出了什么问题?任何人都可以帮助我

c#中的多级字典错误

更改此代码:

ff.Filters[f.GroupName].Add(f.FilterName, f.filterValue);

收件人:

ff.Filters.Add(f.GroupName, new Dictionary<string, List<string>>() 
 { {f.FilterName, f.filterValue} });

希望这能解决你的问题。

看看这个如何:用集合初始化器初始化字典(C#编程指南)