Hashtable ta = new Hashtable(); ta.Add('1', 'w'); ta.Add('2', 'm'); ta.Add('3', 'f'); Hashtable tb = new Hashtable(); tb.Add('1', 'w'); tb.Add('2', 'm'); tb.Add('3', 'm'); //最初想法是遍历ta从而对其值改变,结果提示“de是一个foreach迭代变量,无法修改其成员”,因为foreach只能处理固定状态不变的集合 foreach (DictionaryEntry de in ta) { if (de.Key.ToString().Equals("3")) { de.Value = 'm'; } } //办法一:通过移除添加的方法赋值 ta.Remove('3'); ta.Add('3', 'm'); //办法二:通过重新定义一个hashtable然后通过构造方法重新赋值过去 ta = new Hashtable(tb);