如何在字典中添加字典列表中的值

本文关键字:字典 列表 添加 | 更新日期: 2023-09-27 18:08:17

你好,我正在尝试为这个复杂的对象添加值。我正在尝试使用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);

如何在字典中添加字典列表中的值

如果您有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);

我希望这能有所帮助。

值得一提的是,这里有一个示例循环,展示了如何使用Dictionary.Add和Collection 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);
}
MyList.Add("key1", new List<Dictionary<string, int>());
MyList["key1"].Add(new Dictionary<String, int>());

等等。

恐怕需要你提供更多的细节才能提供更多。

尽管它看起来很复杂,但实际上很简单:

您的字典包含string的键和List<Dictionary<string, int>>的值。因此,要添加,该值应始终为List<Dictionary<string, int>>类型。