zoukankan      html  css  js  c++  java
  • 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));
     
            }
        }
    }

  • 相关阅读:
    HTML DOM 12 表格排序
    HTML DOM 10 常用场景
    HTML DOM 10 插入节点
    HTML DOM 09 替换节点
    HTML DOM 08 删除节点
    HTML DOM 07 创建节点
    022 注释
    024 数字类型
    005 基于面向对象设计一个简单的游戏
    021 花式赋值
  • 原文地址:https://www.cnblogs.com/siso/p/3692491.html
Copyright © 2011-2022 走看看