如何使用里面的词典列表向Dictionary添加值

时间:2013-04-08 14:36:37

标签: c# dictionary

您好我正在尝试为此复杂对象添加值。我正在尝试使用JSON.Net将此对象转换为JSON。

Dictionary<string, List<Dictionary<string, int>>> MyList 
    = new Dictionary<string, List<Dictionary<string, int>>>();

最终结果应如下所示:{ "Documents": [ { "Title": , "DatePublished": , "DocumentURL": , "ThumbnailURL": , "Abstract": , "Sector": "", "Country": [ "" ], "Document Type": "" } 我试过这个但是没有用:

MyList["Dictionary"][0].Add("test", 4);

4 个答案:

答案 0 :(得分:3)

如果您有Dictionary<string, int> dictA,可以通过

添加项目
Dictionary<string, int> dictA = new Dictionary<string, int>();
dictA.Add("SomeString", 99);

然后将此词典添加到List<Dictionary<string, int>>,请使用以下

List<Dictionary<string, int>> dictList = new List<Dictionary<string, int>>();
dictList.Add(dictA);

现在,您可以通过

将其添加到Dictionary<string, List<Dictionary<string, int>>> myList对象中
Dictionary<string, List<Dictionary<string, int>>> myList = 
    new Dictionary<string, List<Dictionary<string, int>>>();
myList.Add("SomeString", dictList);

我希望这会有所帮助。

答案 1 :(得分:1)

MyList.Add("key1", new List<Dictionary<string, int>());
MyList["key1"].Add(new Dictionary<String, int>());

你需要更多的细节来提供比我更害怕的东西。

答案 2 :(得分:1)

对于它的价值,这是一个示例循环,展示了如何使用Dictionary.AddCollection Initalizer

Dictionary<string, List<Dictionary<string, int>>> MyList = 
    new Dictionary<string, List<Dictionary<string, int>>>();

foreach (int i in Enumerable.Range(1, 100))
{
    var list = new List<Dictionary<string, int>>();
    foreach (int ii in Enumerable.Range(1, 100))
        list.Add(new Dictionary<string, int>() { { "Item " + ii, ii } });
    MyList.Add("Item " + i, list);
}

答案 3 :(得分:1)

即使它看起来很复杂,但它确实非常简单:

您的词典的密钥为string,值为List<Dictionary<string, int>>。因此,要添加,该值应始终为List<Dictionary<string, int>>类型。