簡體   English   中英

Unity / C#,創建對現有類實例(GC)的引用

[英]Unity/C#, Creating references to existing class instances (GC)

因此,我正在制作一款小型手機游戲,並盡我所能盡力構建所有內容……但是仍然存在疑問。

假設您在一個數組中有一個武器集合,那么創建一個對集合中武器的引用(activeWeapon)並使用它而不是直接在數組中訪問該集合有多糟糕?

例如

public Weapon activeWeapon; // Accessing this, and re-assigning from collection when changing weapon.
public Weapon[] weaponCollection;

我假設“ activeWeapon”只是一個地址指針,對不對? 因此,將其分配給集合中的另一種武器應該不會產生太多垃圾?

還是我是個壞人?

如果您在C#中將Weapon定義為類(即不是Struct),則完全可以按照您描述的方式進行操作。 activeWeapon只是一個參考,因此您可以根據需要進行多次更改,並且不會造成任何額外的垃圾,因為即使您在兩個不同的位置兩次引用了該Weapon也仍然只有一個Weapon實例。

您可以在此處閱讀有關參考類型的更多信息: https : //docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/keywords/reference-types

暫無
暫無

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

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