/// <summary> /// Returns a hash code for this instances. /// </summary> /// <returns> /// A hash code for this instances, suitable for use in hashing algorithms and data structures like a hash table. /// </returns> public override int GetHashCode() { return (this.HasValue.GetHashCode() ^ (Book == null ? 0 : Book.ToLower().GetHashCode()) ^ (N1 == null ? 0 : N1.ToLower().GetHashCode() >> 1) ^ (N2 == null ? 0 : N2.ToLower().GetHashCode() << 1) ^ (NumberCount)); }