c#引用类型搞的我头都大了…… b=a并不表示b就是a,只不过两者引用同一内容(比如例子中的"Hello"字符串)当b="OK";后,实际上b引用的是"OK"这个字符串,已经不是a所引用的"Hello"字符串了下面的o,f也是如此 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Ref_type Ref2=Ref1;//两共同引用同一对象Ref2.val=-1;//修改Ref2的值会修改Ref1的值以上两行可能使你对后面的例子感到迷惑,从上面两行来看,Ref2引用的对象是Ref1引用的对象,当Ref2.val=-1时,是改变了Ref2所引用对象的val属性的值。所以,此后Ref1.val也是-1,因为他们本来就指向同一引用对象,只是这个引用对象中某个属性发生了变化,或者说所引用对象中val本来指向的值失效,它重新指向新的值-1。这就可以解释b=a,o=f这些例子了 我明白了!在b="OK"的时候,此时内存重新分配空间用于存放“OK“,用变量b来引用,所以此时b和a根本没有关系了,地址比较自然也就为False!谢了!bearontree(树袋熊) 求一正则表达式 winform备份数据库数据 泛型类实例化的问题 vs 2005安装问题 xmldoc转成一个类,然后通过类的属性调用xmldoc里的元素 请高人指教:在winform中有两个表,想让用户在两个表中把有关系得用线连起来 ??应该从何做起?或有什么控件? 《C# Web 服务高级编程》随书源代码(欢迎下载) 如何用ado.net将一个access文件中的表读出来再导入另外一个access文件中? 请问在windows程序中可以实现文件上传吗? string 转化 datatable 控件类RichControl在那里啊? 如何得到操作系统的版本?
Ref2.val=-1;//修改Ref2的值会修改Ref1的值以上两行可能使你对后面的例子感到迷惑,从上面两行来看,Ref2引用的对象是Ref1引用的对象,当Ref2.val=-1时,是改变了Ref2所引用对象的val属性的值。所以,此后Ref1.val也是-1,因为他们本来就指向同一引用对象,只是这个引用对象中某个属性发生了变化,或者说所引用对象中val本来指向的值失效,它重新指向新的值-1。
这就可以解释b=a,o=f这些例子了
在b="OK"的时候,此时内存重新分配空间用于存放“OK“,用变量b来引用,所以
此时b和a根本没有关系了,地址比较自然也就为False!
谢了!bearontree(树袋熊)