正如我的老師經常告訴我的:“在 C# 中,一切都是指標”,
我目前正在一個專案中使用 Windows 表單和與之配套的 Point 類。
例子:
Point a = new Point(200, 200);
Point b = a;
a.X = 100;
Console.WriteLine(b.X);
由于 'a' 是一個指標,當將 'b' 設定為 'a' 然后改變 'aX' 值時,bX 值應該改變太多了吧?但我仍然得到 200 結果。
我希望它是 100(在它們之間保持鏈接),有沒有辦法在 C# 中做到這一點?
uj5u.com熱心網友回復:
定義為一個可以作業的類,但不是一個結構,用等效的類覆寫結構就可以了。
uj5u.com熱心網友回復:
正如您所發現的,值型別是按值復制的,而不是按參考復制的。
然而,如果你想要一個對這個物件的實際參考,你可以很容易地這樣做。
Point a = new Point(200, 200);
ref Point b = ref a;
a.X = 100;
Console.WriteLine(b.X);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/392686.html
