【发布时间】:2023-03-21 17:04:01
【问题描述】:
我有十个职位,包括 x、y 和姓名。我想将所有 x 设置为 x+1。这该怎么做?我尝试了不同的方法,但我总是知道我无法修改列表。应该使用 for 或 foreach 来完成。
我得到“无法修改“项目”的成员,因为它是 foreach 迭代变量。”
public struct Position
{
public int x { get; set; }
public int y{ get; set; }
public string name{ get; set; }
}
class Program
{
static void Main(string[] args)
{
List<Position> positions = new List<Position>();
Position position = new Position();
position.x = 12;
position.y = 12;
position.name = "left";
positions.Add(position);
position = new Position();
position.x = 13;
position.y = 13;
position.name = "right";
positions.Add(position);
Console.WriteLine(positions.Count);
Console.WriteLine();
Position newPosition;
foreach (Position item in positions)
{
}
Console.WriteLine();
foreach (Position item in positions)
{
Console.WriteLine(item.x + " " + item.name);
}
}
}
}
【问题讨论】:
-
item.x++ 在 foreach 中?