根据作业复制结构

Sinse 结构是值类型,所有数据在分配时复制,对新副本的任何修改都不会更改原始副本的数据。下面的代码片段显示 p1复制p2,而 p1 上的更改不会影响 p2 实例。

var p1 = new Point {
    x = 1,
    y = 2
};

Console.WriteLine($"{p1.x} {p1.y}"); // 1 2

var p2 = p1;
Console.WriteLine($"{p2.x} {p2.y}"); // Same output: 1 2

p1.x = 3;
Console.WriteLine($"{p1.x} {p1.y}"); // 3 2
Console.WriteLine($"{p2.x} {p2.y}"); // p2 remain the same: 1 2