string name = "bob";
object obj = name;
obj = "joe";
Console.WriteLine(name);
名前がbobを印刷する方法について少し混乱しています。文字列とオブジェクトの両方が参照型である場合、「obj = name」の割り当て後、ヒープ上の同じメモリを指すべきではありませんか?ご説明いただきありがとうございます。
編集:StackUnderflowの例は、別の関連する質問を提起しました。
MyClass myClass1 = new MyClass();
MyClass myClass2;
myClass1.value = 4;
myClass2 = myClass1;
myClass2.value = 5; // myClass1 and myClass2 both have 5 for value
両方がクラス参照である場合はどうなりますか?一方の参照を介してクラスフィールドを変更でき、もう一方の参照に反映されるため、同じように機能しないのはなぜですか。クラス変数も参照である必要があります。不変の刺し傷が関係するのはここですか?