2

我有一个关于 C# 如何工作的问题。

m_MyClass = new MyClass();
Dispatcher.m_MyClass = m_MyClass;

如果我设置 m_MyClass = null,那会自动使 Dispatcher.m_MyClass 为 null 吗?

4

2 回答 2

4

不,变量赋值是按 value分配引用的副本。分配后更改变量不会影响Dispatcher.m_MyClass字段/属性。

于 2013-08-07T17:27:24.647 回答
2

没有。为引用的变量分配不同的值对其他引用没有影响。

只有修改实例的字段或使用修改这些字段的属性或方法才会产生效果:

m_MyClass = new MyClass();
Dispatcher.m_MyClass = m_MyClass;

m_MyClass.MyProp = null;
// Dispatcher.m_MyClass.MyProp == null
于 2013-08-07T17:28:54.113 回答