当我使用一个struct
s 数组(例如System.Drawing.Point)时,我可以逐个索引并更改它.
例如(此代码工作正常):
Point[] points = new Point[] { new Point(0,0), new Point(1,1), new Point(2,2) }; for (int i = 0; i < points.Length; i++) { points[i].X += 1; }
但是当我使用List时,它不起作用:
无法修改'System.Collections.Generic.List.this [int]'的返回值,因为它不是变量
示例(此代码无法正常工作):
Listpoints = new List { new Point(0,0), new Point(1,1), new Point(2,2) }; for (int i = 0; i < points.Count; i++) { points[i].X += 1; }
我知道当我通过索引获取列表项时,我得到了它的副本和编译器提示我没有提交错误,但为什么采用数组索引的元素工作方式不同?