C#引用类型和值类型的问题

c# 中string既然是引用类型,为什么name不等于后面的赋值(niko)?

img

原对象重新赋值了,这时原对象的引用不会改变,新的变量即这里的zerocool.Name指向了新的值(空间)
即先构建了一个内存对象为"ZeroCool",一开始zerocool.Name指向了"ZeroCool"
然后声明并赋值处理中让name也指向了"ZeroCool"
其后zerocool.Name=“niko“,让zerocool.Name指向了新的内存对象“niko“,这时前面的name的指向并没有变啊。

注意这里引用是对实体string对象的引用(即对一个具体的内存空间的引用),而不是对变量的引用。

你的name是string类型的,string是c#中比较特殊的引用类型,建议你可以搜搜看