字典类返回空值

本文关键字:空值 返回 字典 | 更新日期: 2023-09-27 18:28:26

因此,我有一个我编写的代码示例。

我的目标是将一个值输入到一个字典类中,该字典类包含一个键(字符串),该值是另一个键为List的字典。

问题是,在我清除innerDictionary之后,mainDictionary内部的值将消失。

            List<string> list1 = new List<string>();
            list1.Add("1");
            list1.Add("2");
            list1.Add("3");
            List<string> list2 = new List<string>();
            list2.Add("4");
            list2.Add("5");
            list2.Add("6");
            List<string> list3 = new List<string>();
            list3.Add("7");
            list3.Add("8");
            list3.Add("9");
            List<string> list4 = new List<string>();
            Dictionary<string, Dictionary<string, List<string>>> mainDictionary = new Dictionary<string, Dictionary<string, List<string>>>();
            Dictionary<string, List<string>> innerDictionary = new Dictionary<string,List<string>>();
            foreach (string s1 in list1)
            {
                foreach (string s2 in list2)
                {
                    foreach(string s3 in list3)
                    {
                        list4.Add(s3);
                    }
                    innerDictionary.Add(s2, list4);
                    list4.Clear();
                }
                mainDictionary.Add(s1, innerDictionary);
                innerDictionary.Clear();
            }

字典类返回空值

您需要在循环中创建新的字典和列表

foreach (string s1 in list1)
{
    Dictionary<string,List<string>>() innerDictionary = new Dictionary<string,List<string>>();
    foreach (string s2 in list2)
    {
        List<string>() list4 = new List<string>();
        foreach(string s3 in list3)
        {
            list4.Add(s3);
        }
        innerDictionary.Add(s2, list4);
    }
    mainDictionary.Add(s1, innerDictionary);
}