定义一个整形变量也有GetHashCode()方法,这东西怎么用啊?

解决方案 »

  1.   

    知道程序里是怎么实现比较的吗?其实就是通过他的HashCode值
      

  2.   

    什么加密啊,gethashcode主要是用来做散列的。它主要在.net的集合类型里使用,比如SortedList,HashTable等等。这些类都提供一个通过字符串索引来访问的功能,就是通过hashcode来快速找到值的。
    所以,要想使自己的类充分使用集合类型,就的写好自己的GetHashCode()这个方法,通常的建议是,使它的值尽量平均分配在整形的范围之内,这样效率最高!
    具体细节我也不清楚,大体就这个意思!
      

  3.   

    1. 如果不用自己的类做HashTable或Dictionary的键就不用管它;
    2. 如果用的话,就返回能唯一标志一个对象的成员.ToString().GetHashCode(),唯一标志是指如果两个对象在这些成员上相等就认为它们相等;
      

  4.   

    startDateTimePicker.Value = startDateTimePicker.Value.AddDays(DayOfWeek.Sunday.GetHashCode() - startDateTimePicker.Value.DayOfWeek.GetHashCode());
    上面是我用这个函数时的语句。
    DayOfWeek.Sunday.GetHashCode()就是0
    startDateTimePicker.Value.DayOfWeek.GetHashCode()就表示日期是每周的第几天,周日是第一天(老外的习惯)
      

  5.   

    MSDN:
    http://msdn.microsoft.com/zh-cn/library/system.object.gethashcode.aspx