C#参考变量,使一个为空会使另一个为空吗?

C#参考变量,使一个为空会使另一个为空吗?,c#,reference,C#,Reference,我有一个关于C#如何工作的问题 如果我设置m_MyClass=null,这会自动使Dispatcher.m_MyClass为null吗?否。变量赋值是按值分配引用的副本。赋值后更改变量不会影响Dispatcher.m_MyClass字段/属性。否。为引用的变量指定不同的值对其他变量没有影响 参考资料 只有修改实例的字段或使用修改这些字段的属性或方法才会产生效果: m_MyClass = new MyClass(); Dispatcher.m_MyClass = m_MyClass; m_MyC

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


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

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

。为引用的变量指定不同的值对其他变量没有影响 参考资料

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

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

m_MyClass.MyProp = null;
// Dispatcher.m_MyClass.MyProp == null

我懂了。我最近一直在学习C#,但不理解这一部分。变量是存储位置。你把东西放在里面。将一个存储位置的内容分配给另一个存储位置时,可以复制源存储位置的内容并将其放入目标位置。稍后,将另一个值指定给源存储位置。它对目标存储位置或任何其他存储位置没有影响。
m_MyClass = new MyClass();
Dispatcher.m_MyClass = m_MyClass;

m_MyClass.MyProp = null;
// Dispatcher.m_MyClass.MyProp == null