gpt4 book ai didi

C#内存/对象理解

转载 作者:太空狗 更新时间:2023-10-30 00:30:00 25 4
gpt4 key购买 nike

如果我像这样实例化一个对象:

public class Program
{
public static PlayerShip mainShip = new PlayerShip();
}

然后在另一个类上我做了:

public class RandomEncounters
{
var subShip = new PlayerShip();

public void PlayEncounter()
{
subShip = Program.mainShip;
}
}

我的理解是 subShipmainShip 现在都引用“堆”或内存中的同一个对象。这是正确的,还是一个坏主意?

最佳答案

My understanding is that both subShip and mainShip are now referencing the same object in the 'heap' or memory.

如果 PlayerShip 是一个 那么是的,您将对同一个对象有两个引用。

如果 PlayerShip 是一个 struct 则不,赋值将创建一个副本并将使用该副本。

is this a bad idea

这既不好也不好,这只是一个工具。

关于C#内存/对象理解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43409783/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com