CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

引用类型的问题

楼主balibaba(bali)2006-03-07 10:26:53 在 .NET技术 / C# 提问

object   和   string类型都是引用类型,为什么  
   
  object   a,b;  
  a=1;b=1;  
  Console.WriteLine(a==b);  
  string   c,d;  
  c='hh";d="hh";  
  Consoe.WriteLine(c==d);  
   
  显示:  
  false  
  true  
   
   
  还有  
   
  object   t=3;  
  object   s=t;  
  t=6;  
  Consoe.WriteLine(t==s);  
  显示  
  false  
  为什么   s和t的值不一起变 问题点数:20、回复次数:5Top

1 楼Samen168(Code to coding)回复于 2006-03-07 10:34:37 得分 20

装箱,拆箱的结果,hohoTop

2 楼balibaba(bali)回复于 2006-03-07 22:48:18 得分 0

rrTop

3 楼SunOnNET()回复于 2006-03-07 23:08:57 得分 0

object   a,b;  
  a=1;b=1;  
  Console.WriteLine(a==b);  
  string   c,d;  
  c='hh";d="hh";  
  Consoe.WriteLine(c==d);  
   
  显示:  
  false  
  true  
   
  因为object判等比较的是2个对象在内存中的地址,所以两个不相等。而string对象重写了ojbect  
  中的方法Equs方法,自己提供了比较两个对象的方法所以是相等的,我们自己写的类一般都需要重写Equs方法  
  ——-----------------------------------------------------  
  object   t=3;  
  object   s=t;  
  t=6;  
  Consoe.WriteLine(t==s);  
  显示  
  false  
  为什么   s和t的值不一起变  
   
  和第一题的解释是一样的因为object的==比较是调用其Equs方法,该方法是比较2个对象在堆上的内存地址。  
   
  Top

4 楼ThreadSharp(ThreadSharp V2006)回复于 2006-03-08 08:51:17 得分 0

昨天不是已经开过贴了吗,而且俺也具体的给你了解释,回去看看那个吧。Top

5 楼SunOnNET()回复于 2006-03-08 10:52:11 得分 0

不好意思Equs写错了,应该是EqualsTop

相关问题

  • string,值类型和引用类型。
  • 引用类型数据如何复制?
  • struct类型变量的引用问题??
  • form 引用类型的转换问题
  • 按值传送值类型,按引用传送值类型,按值传送引用类型,按引用传送引用类型
  • c#中,对象是引用类型的
  • 关于对象是引用类型
  • 值类型和引用类型的问题?
  • .net CTS中值类型和引用类型的底层问题????
  • C#的基础问题.关于值类型与引用类型

关键词

  • consoe
  • 类型
  • equs
  • 方法
  • 对象
  • writeline
  • hh
  • 显示
  • object

得分解答快速导航

  • 帖主:balibaba
  • Samen168

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo