场景1:
int num=10; object o1=num; object o2=num; Console.WriteLine(o1==o2);
场景2:
string str="This is a Test"; object o1=str; object o2=str; Console.WriteLine(o1==o2);
场景1输出的是 False;而场景2输出的是True;
原因是
场景1 num是值类型:CLR会在赋值的时候,把数值复制到对象内。而两个对象是不一样的;
场景2 str是引用类型:CLR只会在对象内存放 str的内存地址。两个对象所指向的是一致的。