2

C# の仕組みについて質問があります。

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

m_MyClass = null に設定すると、自動的に Dispatcher.m_MyClass が null になりますか?

4

2 に答える 2

4

いいえ。変数の割り当ては、参照のコピーをで割り当てています。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 に答える