C# GetHashCode与Equals在HashTable表查找时的关系
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Win32;
using System.Threading;
using System.IO;
using System.Security.Cryptography;
using Common; namespace ConsoleApplication2
{
public class Test
{
private string _id; public string Id
{
get { return _id; }
set { _id = value; }
} public Test(string id)
{
_id = id;
} public override int GetHashCode()
{
Console.WriteLine("GetHashCode()");
return Id.Length;
} public override bool Equals(object obj)
{
Console.WriteLine("Equals()");
return Id == (obj as Test).Id;
}
} class Program
{
/// <summary>
/// 如果GetHashCode相等则不用Equals了,否则需要Equals
/// </summary>
/// <param name="args"></param>
static void Main(string[] args)
{
Dictionary<Test, string> dc = new Dictionary<Test, string>(); Test t1 = new Test("a");
Test t2 = new Test("b");
Test t3 = new Test("cc"); dc.Add(t1, "");
Console.WriteLine("----------------");
Console.WriteLine(dc.ContainsKey(t1));
Console.WriteLine("----------------");
Console.WriteLine(dc.ContainsKey(t2));
Console.WriteLine("----------------");
Console.WriteLine(dc.ContainsKey(t3)); }
}
}

C# GetHashCode与Equals在HashTable表查找时的关系的更多相关文章
- 数据库表设计时一对一关系存在的必要性    数据库一对一、一对多、多对多设计  面试逻辑题3.31  sql server 查询某个表被哪些存储过程调用  DataTable根据字段去重  .Net Core Cors中间件解析  分析MySQL中哪些情况下数据库索引会失效
		
数据库表设计时一对一关系存在的必要性 2017年07月24日 10:01:07 阅读数:694 在表设计过程中,我无意中觉得一对一关系觉得好没道理,直接放到一张表中不就可以了吗?真是说,网上信息什么都 ...
 - C# GetHashCode、Equals函数和键值对集合的关系
		
C# GetHashCode.Equals函数和键值对集合的关系 说明 HashCode:Hash码.特性:两个值,相同的的值生成的Hash肯定相同,Hash不同的值肯定不同. 下面一张图中,只有和“ ...
 - 哈希表查找(散列表查找) c++实现HashMap
		
算法思想: 哈希表 什么是哈希表 在前面讨论的各种结构(线性表.树等)中,记录在结构中的相对位置是随机的,和记录的关键字之间不存在确定的关系,因此,在结构中查找记录时需进行一系列和关键字的比较.这一类 ...
 - 教你几招HASH表查找的方法
		
摘要:根据设定的哈希函数 H(key) 和所选中的处理冲突的方法,将一组关键字映象到一个有限的.地址连续的地址集 (区间) 上,并以关键字在地址集中的"象"作为相应记录在表中的存储 ...
 - ssis 到别的表查找临时变量值
		
原文:ssis 到别的表查找临时变量值 etl过程过,往一个数据库表插入数据,插入的值往往需要到另外一个数据库读取.例如下面的客户跟踪,需要一个"项目ID",这个ID需要到另一个数 ...
 - java数据结构之有序表查找
		
这篇文章是关于有序表的查找,主要包括了顺序查找的优化用法.折半查找.插值查找.斐波那契查找: 顺序优化查找:效率极为底下,但是算法简单,适用于小型数据查找: 折半查找:又称为二分查找,它是从查找表的中 ...
 - 顺序表查找及其优化(Java)
		
顺序表查找(线性查找): private static void Ordersearch(int[] arr,int num) { for (int i = 0; i < arr.length; ...
 - 查找算法(5)--Tree table lookup--树表查找
		
1.树表查找 (1) 最简单的树表查找算法——二叉树查找算法. [1]基本思想:二叉查找树是先对待查找的数据进行生成树,确保树的左分支的值小于右分支的值,然后在就行和每个节点的父节点比较大小,查找最适 ...
 - Python 树表查找_千树万树梨花开,忽如一夜春风来(二叉排序树、平衡二叉树)
		
什么是树表查询? 借助具有特殊性质的树数据结构进行关键字查找. 本文所涉及到的特殊结构性质的树包括: 二叉排序树. 平衡二叉树. 使用上述树结构存储数据时,因其本身对结点之间的关系以及顺序有特殊要求, ...
 
随机推荐
- 模板函数 使用的默认void 模板报错
			
You must specify the compiler argument -std=c++0x to avoid the following error: test.cpp:5:13: error ...
 - [2015hdu多校联赛补题]hdu5384 Danganronpa
			
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5384 题意:函数f(A, B)定义:A.B为字符串,f(A, B)为A中有多少个不同的B(ex:f(& ...
 - JavaWeb---设置content-disposition响应头,让浏览器下载文件
			
package com.zyz; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServlet ...
 - php常用的字符串函数
			
addslashes -- 使用反斜线引用字符串 chr -- 返回相对应于 ascii 码值所指定的单个字符. chunk_split -- 将字符串分割成小块 count_chars -- 返回 ...
 - oc 单例
			
单例模式: //static id _instace; // //+ (id)allocWithZone:(struct _NSZone *)zone //{ // static dispatch_o ...
 - python实验二:字符串排序
			
##统计word中的各个字符的出现的次数,并统计出所有前十名的字符使用次数 # -*- coding:utf-8 -*- word='''awfesdafhjkcasadckjsdackjsadvcn ...
 - Noip2016提高组 玩具谜题toy
			
Day 1 T1 题目大意 一些naive的玩具小人把小南的眼镜藏起来,但小南有一份too simple的小纸条,告诉小南眼镜在第一个小人往哪数第几个的往哪数的第几个的往哪数第几个的往哪数的第几个的往 ...
 - Java动手动脑(二)
			
1>类的对象实例化 由于main为静态类型,所以在调用函数时也必须调用静态方法,如上代码中的求平方数的静态方法,如何在静态main中调用非静态类的方法呢? 静态方法只能直接访问静态成员,无法访问 ...
 - HTTP 错误 403.14–Forbidden错误解决
			
运行环境:开发环境:Windows7旗舰版64bit.VisualStudio2008 With SP1.ArcEngine10.0.NetFrameWork4.0.IIS7和C#开发语言. 问题描述 ...
 - Java CopyOnWriteArrayList
			
1. 为什么需要 CopyOnWriteArrayList ArrayList 的内部实现是一个数组, 并且是动态扩容的, 当插入数据时, 先判断数组是否需要扩容, 如果需要扩容, 则先扩容, 再插入 ...