簡體   English   中英

將對象的引用添加到列表中

[英]Add references to objects to a list

我有以下代碼:

Point a = new Point(3, 3);

List<Point> points = new List<Point>();

points.Add(a);

a = new Point(50,50);

a.X += 50; 

但是說我希望最后兩行代碼也影響列表中的值; 我該怎么做呢? 我的猜測是添加指向列表的指針? 但我想即使那時“新點(50,50);” 仍然不會更新列表的值?

謝謝

不,你不需要指針。 可以認為對.NET世界中的對象的引用基本上等同於非托管代碼世界中的指針。 當您添加有值類型和引用類型的事實時,事情變得有點棘手,但在這種情況下,直接在數組中修改對象或對象的引用就足夠了。

因此,您可以執行以下任一操作:

points[0] = new Point(50, 50);

要么

points[0].X = 50;
points[0].Y = 50;

(盡管您應該養成將結構視為不可變的習慣 ,但請考慮以上僅用於示例目的)。

您可以直接在列表中訪問該值:

points[0] = new Point(50, 50);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM