[英]Dictionary<string, int> does not have value
將值放入Dictionary中時遇到問題。
我的代碼:
Dictionary<string, Dictionary<string, int>> cnDict = new Dictionary<string, Dictionary<string, int>>();
Dictionary<string, int> cn = new Dictionary<string,int>();
cn.Add("DynamicPanel_1", 0);
cn.Add("DynamicPanel_3", 1);
cn.Add("DynamicPanel_4", 0);
this.cnDict.Add("DynamicPanel_2", cn);
cn.Clear();
cn.Add("DynamicPanel2", 1);
cn.Add("DynamicPanel3", 0);
this.cnDict.Add("DynamicPanel1", cn);
foreach(KeyValuePair<string, int> pos in cnDict["DynamicPanel_2"])
{
MessageBox.Show("DynamicPanel_2 has values: "+ pos.Key + " ----> " + pos.Value.ToString()); ;
}
foreach (KeyValuePair<string, int> pos in cnDict["DynamicPanel_1"])
{
MessageBox.Show("DynamicPanel_1 has values: " + pos.Key + " ----> " + pos.Value.ToString()); ;
}
此代碼顯示錯誤消息:
DynsmicPanel_2具有值:DynamicPanel_3 ----> 0
DynsmicPanel_1具有值:DynamicPanel_2 ----> 1
應該:
DynsmicPanel_2具有值:DynamicPanel_4 ----> 0
DynsmicPanel_1具有值:DynamicPanel_2 ----> 1
我做錯了什么?
謝謝
您將相同的cn
對象兩次添加到cnDict
字典。 創建新對象:替換cn.Clear();
by cn = new Dictionary<string,int>();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.