[英]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.