[50分]咋这么多怪事啊?
一,
string是引用类型,那么比较两个实例应当是地址才是啊
string s= "hello ";
string t= "hello ";
s,t不应当相等啊
二,
Console.WriteLine((object)1 == (object)1);//结果为false
Console.WriteLine((object) "ok " == (object) "ok ");//结果为true
为什么?装箱值代表什么?
三,
string a = "hello ",b=string.Copy(a),c = "hello " ;
Console.WriteLine((object)a == (object)b);//false
Console.WriteLine((object)a == (object)c);//true
为什么?
四,
string s,t;
s= "ok ";
t=s;
s= "yes ";//改变s并不会同时改变t
这好像不符合引用类型的惯例吧?(跟值类型到是差不多)
为什么string是不可改变的?
string的定义跟其它类有什么不同吗?(例如StringBuild,不要把string的定义贴出来,说出原因就行了)
其它的类,如果两个对象引用同一实例,改变之一,另一个也会变啊
------解决方案--------------------