我在标题中收到此错误,这是问题代码:
Dictionary<string, Point> dicPoint = new Dictionary<string, Point>();
dicPoint.Add("point1", new Point());
dicPoint["point1"].X++;
Run Code Online (Sandbox Code Playgroud)
在递增X时,它给出了错误.这个问题的解决方案是什么?
我假设Point您使用的类型是结构.因此,获取dicPoint["point1"]将创建值的副本.改变不会改变字典中的内容.相反,您需要获取值,修改它,然后替换字典中的条目:
var point = dicPoint["point1"];
point.X++;
dicPoint["point1"] = point;
Run Code Online (Sandbox Code Playgroud)