将静态对象分配给另一个(非静态)变量是否会复制该对象?

时间:2016-09-13 01:06:47

标签: c# monogame static-variables

我有一个静态类,它包含整个游戏中使用的静态纹理。

public static class AssetManager
{

    public static Texture2D someTexture;
    ....
}

我的问题是,如果我要将静态纹理分配给另一个类中的变量,如下所示:

Texture2D classTexture = AssetManager.someTexture;

我会创建该纹理的副本吗?我真的不认为我会阅读它,我不认为这是静态变量应该如何工作。我试了一下,检查了每个的hashCode,它们似乎是一样的。但是我也不确定这是否是正确的检查方式,我不想在以后我创建一堆我不需要的新纹理时遇到问题。

1 个答案:

答案 0 :(得分:3)

C#永远不会制作对象的隐式副本。

听起来有点像C ++背景可能会引起注意,在这种情况下,您可以将C#中的所有对象都视为指针。