所以我不能以一种非常易于理解的方式找到这个问题的具体答案。所以如果这是一个愚蠢的问题,请和我一起裸露。C#内存/对象理解
如果我实例化一个对象,如:
public class Program
{
public static PlayerShip mainShip = new PlayerShip();
然后在另一个类我做的:
public class RandomEncounters
{
PlayerShip subShip = new PlayerShip();
public void PlayEncounter()
{
subShip = Program.mainShip;
}
}
我的理解是,无论subShip和mainShip在现在引用相同的对象“堆“或内存。这是正确的,也是...这是一个坏主意?我非常喜欢初学者(只有1-2周),所以任何指导都将非常感激。
谢谢! -Brandon
为什么'PlayerShip subShip = new PlayerShip();'而不是'PlayerShip subShip'的行;'您正在创建两个实例,但您正在使用Program类的PlayerShip引用覆盖此实例的引用 –
好点!我改变了它。你是对的,如果我只是重写参考文献,那么做新球员是没有意义的。谢谢! – Icywata
不要担心堆或堆栈。担心通过引用或按值复制;这是您需要了解的相关差异。 –