额外创建一个数组存储需要删除的所有Key值; List<string> keys = new List<string>(); foreach (string item in addMxmList.Keys) { keys.Add(item); } for (int i = 0; i < keys.Count; i++) { object value = addMxmList[keys[i]]; addMxmList[keys[i]] = (value as IList).Clone(); } 高版本可以使用: addMxmList.Keys.ToList();