0
所以,我有一個我寫的代碼的例子。字典類返回空值
我的目標是爲包含鍵(字符串)的字典類輸入值,並且該值是具有鍵(字符串)和值爲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();
}
什麼語言是這裏面新的字典和列表?你做了「Dictionary」類嗎? – Adeeb 2014-10-30 18:47:24
'添加'不*複製*對象,但存儲對同一對象的引用。當你清除時,它會清除一個實例。相反,每次迭代創建一個「新」集合。 – crashmstr 2014-10-30 19:32:18
你也對,謝謝。 – idants 2014-10-31 02:53:39