public override int GetHashCode() { var hash = new System.HashCode(); hash.Add(_type); foreach (var b in UnsafeAsSpan(ref this)) { hash.Add(b); } return(hash.ToHashCode()); }
/// <summary> /// 使用多个对象生成一个哈希值 /// </summary> /// <param name="objs">用于计算哈希值的对象</param> /// <returns>最后生成的哈希值, /// 如果<paramref name="objs"/>中的所有元素全部相同, /// 则生成的哈希值也相同</returns> public static int CreateHash(params object[] objs) { var hash = new HashCode(); foreach (var item in objs) { hash.Add(item); } return(hash.ToHashCode()); }