CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

GetHashCode问……

楼主xyq1986(综艺一哥)2006-10-01 19:46:06 在 .NET技术 / C# 提问

public   struct   ErrorMessage  
   
                  {  
   
                          private   string   strMsg;  
   
                          private   int   nErrorCode;  
   
                          private   DateTime   dtInvoked;  
   
     
   
                          public   ErrorMessage(   string   Msg,   int   ErrorCode   )  
   
                          {  
   
                                  strMsg   =   Msg;  
   
                                  nErrorCode   =   ErrorCode;  
   
                                  dtInvoked   =   DateTime.Now;  
   
                          }  
   
     
   
                          public   bool   TestHashCode()  
   
                          {  
   
                                  return   this.GetHashCode()   ==   strMsg.GetHashCode();  
   
                          }  
   
                  }  
   
     
   
                  //   Test   "GetHashCode"   function   in   value   type  
   
                  ErrorMessage   err   =   new   ErrorMessage(   "Test",   0   );  
   
                  if(   err.TestHashCode()   )  
   
                          Debug.WriteLine(   "Both   hash   code   equal!"   );  
   
                  else  
   
                          Debug.WriteLine(   "Not   equal!"   );  
   
  按《Effective   C#》所说,应该是会输出Both   hash   code   equal!,但我经过测试发现是Not   equal!谁能解释一下,我是用.NET   2.0测试的,我在想会不会是版本的问题,2.0做了更新?(上面omit了部分代码) 问题点数:30、回复次数:2Top

1 楼yeerh(边城浪)回复于 2006-10-01 20:51:45 得分 1

this.GetHashCode()实际上执行的是其默认基类   object   的GetHashCode()  
  而strMsg.GetHashCode();   实际的是String类的GetHashCode()...  
  在由于在String类中重写了基类的GetHashCode();  
  所以比较结果时肯定是不等的..Top

2 楼Knight94(愚翁)回复于 2006-10-06 15:59:05 得分 29

to   我是用.NET   2.0测试的,我在想会不会是版本的问题,2.0做了更新?  
   
  是的,看来对于2.0来说,对于struct的GetHashCode不单单是从第一个元素作为HashCode基础。Top

相关问题

关键词

得分解答快速导航

  • 帖主:xyq1986
  • yeerh
  • Knight94

相关链接

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

广告也精彩

反馈

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