根据对象的某些属性创建唯一的哈希码

这个问题在这里已经有了答案:

  • 什么是重写的System.Object.GetHashCode的最佳算法? 17个答案

  • 你可以尝试做这样的事情:

    private int GetHashValue() {
        unchecked 
        {
            int hash = 17;
            //dont forget nullity checks 
            hash = hash * 23 + From.GetHashCode();
            hash = hash * 23 + To.GetHashCode();
            hash = hash * 23 + Enable.GetHashCode();
            return hash;
        }
    }
    

    您也可以对匿名类型使用GetHashCode方法

    private int GetHashValue() {
       return new { From, To, Enable }.GetHashCode();
    }
    
    链接地址: http://www.djcxy.com/p/39765.html

    上一篇: Creating a unique hash code based on some properties of an object

    下一篇: How to implement GetHashCode for a pair of 3D vectors