我的标题中出现此错误,这是问题代码:
Dictionary<string, Point> dicPoint = new Dictionary<string, Point>();
dicPoint.Add("point1", new Point());
dicPoint["point1"].X++;
在增加X时,会产生错误。该问题的解决方法是什么?
答案 0 :(得分:5)
我假设您使用的Point
类型是一个结构。因此,获取dicPoint["point1"]
将创建该值的副本。更改该内容不会更改字典中的内容。相反,您需要获取值,对其进行修改,然后替换字典中的条目:
var point = dicPoint["point1"];
point.X++;
dicPoint["point1"] = point;