根據作業複製結構
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