Supposed we have a class below

public class TestHash
{
public int x;
int y;
public TestHash(int x, int y)
{
this.x = x;
this.y = y;
}
public override int GetHashCode()
{
Console.WriteLine("判断hashcode");
return x + y;
}
public override bool Equals(object obj)
{
Console.WriteLine("判断equals");
return base.Equals(obj);
}
public override string ToString()
{
return x.ToString() + y.ToString();
}
}

  

Hashtable ht = new Hashtable();
TestHash cc = new TestHash(2, 3);
TestHash cc2 = new TestHash(1, 4);
TestHash cc3 = new TestHash(3, 3);
ht.Add(cc, "test1");
ht.Add(cc2, "test2");
ht.Add(cc3, "test3"); Console.WriteLine("Begin print....");
foreach (TestHash im in ht.Keys)
{
Console.WriteLine(im.ToString() + " ----- " + ht[im]);
}
Console.Read();

  

See also:

http://msdn.microsoft.com/en-us/library/ms173147(v=vs.80).aspx

http://msdn.microsoft.com/zh-cn/library/system.object.gethashcode(v=vs.110).aspx

understand equal and gethashcode的更多相关文章

  1. ABP文档翻译--值对象

    本人是ABP初学者,在看英文文档和@tkb至简 的ABP框架理论研究总结(典藏版)时,发现大神@tkb至简中少了对Value Objects的翻译,看文档是新的,大神没时间把,小弟给补充上. 介绍 值 ...

  2. ABP源码分析四十二:ZERO的身份认证

    ABP Zero模块通过自定义实现Asp.Net Identity完成身份认证功能, 对Asp.Net Identity做了较大幅度的扩展.同时重写了ABP核心模块中的permission功能,以实现 ...

  3. ABP框架 - 值对象

    文档目录 本节内容: 简介 值对象基类 最佳实践 简介 “一个表示领域的一个描述性方面的没有概念上的身份对象,称为值对象.“(Eric Evans). 与一个有身份(Id)实体相反,一个值对象没有身份 ...

  4. 一种集合“相等性”的实现

        最近在工作中遇到了一个小的功能,就是需要向一个服务发送请求命令,需要判断请求是否发生变化,如果发生变化了,则重新请求.该问题实际上就是判断两个集合是否相等,只需要记录最后一次请求的元素的集合, ...

  5. .NET中Dictionary<TKey, TValue>浅析

    .NET中Dictionary<TKey, Tvalue>是非常常用的key-value的数据结构,也就是其实就是传说中的哈希表..NET中还有一个叫做Hashtable的类型,两个类型都 ...

  6. ABP官方文档翻译 3.2 值对象

    值对象 介绍 值对象基类 最佳实践 介绍 "展现领域描述性层面且没有概念性身份的对象称之为值对象."(Eric Evans). 和实体相反,实体有身份标示(Id),值对象没有身份标 ...

  7. ABP框架系列之六:(Value-Objects-值对象)

    Introduction "An object that represents a descriptive aspect of the domain with no conceptual i ...

  8. ABP框架学习

    一.总体与公共结构 1,ABP配置 2,多租户 3,ABP Session 4,缓存 5,日志 6,设置管理 7,Timing 8,ABPMapper 9,发送电子邮件 二.领域层 10,实体 11, ...

  9. .NET 知识点总结

    对于Web系统开发来说,Net其实也是有好多知识点需要学的,虽然目前JAVA是主流,就业市场比较大,但Net也在积极的拥抱开源,大Net Core 2 出来了,这无疑给Net开发者带来更大的希望,好了 ...

随机推荐

  1. java中的成员变量和局部变量区别

    1.作用域不同 成员变量的作用域在整个类内部都是可见,可用的: 局部变量的作用域仅限于定义它的方法,不能被其它方法调用: 2.初始值不同 java会给成员变量一个初始值,初始值为0: java不会给局 ...

  2. 判断iframe是否加载完成的完美方法

    var iframe = document.createElement("iframe"); iframe.src = "http://www.jb51.net" ...

  3. Yii 读取CVS文件内容插入到数据库

    这个方法和上次写的读取txt文件的方法基本上差不多,直接贴代码,需要的直接拿走 function ImportExcel(){ $file = fopen('test.csv','r'); //输出文 ...

  4. C # 数据绑定(1)——将DataTabel的data添加ListView

    文/嶽永鹏 目标界面: 功能:通过响应UI Textbox 的值向ListView 绑定新添加的纪录. UI XAML 代码 <Grid Margin="5"> < ...

  5. java的前台与后台

    技术上:前台是指web展示,webservice接口等输入输出接口,后台是指支持这些接口的程序. 例如读写数据库,读写文件,业务逻辑处理. 业务上来讲:前台是提供给最终用户使用的界面,后台是指管理使用 ...

  6. CSS3新增的选择器和属性

    <!doctype html>无标题文档 一.新增的选择器 CSS3新增的属性选择器 {除ie6外的大部分浏览器支持) 序号 选择器 含义 实例 1 E[att^="val&qu ...

  7. MindManger学习技巧

    ctrl+shift+f 字体颜色

  8. Scala 学习笔记(五)

    def main(args : Array[String]): Unit = { def add(x:Int,y:Int):Int = { return x+y; } def subtract:(In ...

  9. java动手动脑和课后实验型问题

    1.以下代码的输出结果是什么?为什么会有这个结果? int[] a = { 5, 7, 20 }; System.out.println("a数组中的元素:"); // 循环输出a ...

  10. Docker私服仓库push 错误

    docker push 提交时错误提示: docker push 192.168.1.110:5000/redis Error response from daemon: invalid regist ...