在 foreach 中修改Dictionary中的值是不允许的,可以将key 先放在List中,foreach 这个list ,找到需要修改的项后,再修改原Dic中的内容。
示例代码如下:
System.Collections.Generic.Dictionary<test ,string > dic=new Dictionary<test,string> ();
test djj = new test();
dic.Add(djj,"wyl");
List<test> list = new List<test>();
list.AddRange(dic.Keys);
list[0].name = "djj2";
foreach (test t in list)
{
dic[t] = "wyl2";
}
Console.WriteLine(dic[list[0]]);