zoukankan      html  css  js  c++  java
  • Dictionary应用

    代码
      public class Person
        {
            
    private string m_name;
            
    private int m_birthday;
            
    public Person(string name, int birthday)
            {
                m_name 
    = name;
                m_birthday 
    = birthday;
            }
            
    public override int GetHashCode()
            {
                
    return m_birthday * m_name.GetHashCode();
            }
            
    public override bool Equals(object obj)
            {
                Person person 
    = obj as Person;
                
    if (person != null)
                    
    return (person.GetHashCode() == GetHashCode());
                
    else
                    
    return false;
            }
          
        }
        
    public class Article : IComparable<Article>
        {
            
    public decimal price;
            
    public Article(decimal price)
            {
                
    this.price = price;
            }
            
    int IComparable<Article>.CompareTo(Article art)
            {
                
    return price.CompareTo(art.price);
            }
        }

            
    /// <summary>
            
    /// Dictionary遍历
            
    /// </summary>
            public static void DictionaryDisplay()
            {
                Dictionary
    <stringstring> dico = new Dictionary<stringstring>();
                dico.Add(
    "carl""23");
                dico.Add(
    "hubcarl""24");
                
    foreach (KeyValuePair<stringstring> item in dico)
                {
                    System.Console.WriteLine(item.Key 
    + ":" + item.Value);
                }
            }
            
    /// <summary>
            
    /// GetHashCode
            
    /// </summary>
            public static void Dictionary()
            {
                
    //object 类提供了Equals()和GetHashCode()两个方法
                
    //Dictionary<K,V>的算法把这两个算法用于在K类型上。
                
    //如果打算复写一个类的Equals()方法,而这个类的实例又是用于表示算列表中的键,那就该同时复写GetHashCode()方法
                
    //以满足如下约束:对于x和y类型的所有实例,如果x.GetHashCode()和y.GetHashCode()返回两个不同的整数,
                
    //那么x.Equals(y)和y.Equals(x)都必须返回false.
                Dictionary<Person, string> dictionary = new Dictionary<Person, string>();
                Person person1 
    = new Person("person1"1986);
                Person person2 
    = new Person("person2"1987);
                dictionary.Add(person1, 
    "carl");
                dictionary.Add(person2, 
    "anan");
                Console.WriteLine(dictionary.ContainsKey(person1));

            }
            
    /// <summary>
            
    /// 自定义类型排序
            
    /// </summary>
            public void ArraySort()
            {
                Article [] arr
    ={new Article(24M),new Article (25M),new Article (23M)};
                Array.Sort
    <Article>(arr);

            }
  • 相关阅读:
    安装torchtext
    RuntimeError: CUDA error: invalid device ordinal
    mongodb aggregate $unwind
    pytorch安装与入门(二)--tensor的基本操作
    pytorch安装与入门(一)
    iOS开发小技巧--iOS程序进入后台运行的实现
    iOS开发小技巧--计算label的Size的方法总结
    iOS开发小技巧--纯代码自定义cell
    iOS开发小技巧--iOS中设置applicationIconBadgeNumber遇到的问题
    iOS开发中的错误整理,Changing the delegate of a tab bar managed by a tab bar controller is not allowed
  • 原文地址:https://www.cnblogs.com/hubcarl/p/1706356.html
Copyright © 2011-2022 走看看