internal static int CombineHashCodes(int h1, int h2) { // Forward to helper class in Common for this // We keep the actual hashing logic there, so // other classes can use it for hashing return(HashHelpers.Combine(h1, h2)); }
/// <summary> /// Gets a hash code for the current value. /// </summary> /// <returns>A hash code for the current value.</returns> public override int GetHashCode() => HashHelpers.Combine( FastEqualityComparer <T1> .Default.GetHashCode(Item1), FastEqualityComparer <T2> .Default.GetHashCode(Item2), FastEqualityComparer <T3> .Default.GetHashCode(Item3), FastEqualityComparer <T4> .Default.GetHashCode(Item4), FastEqualityComparer <T5> .Default.GetHashCode(Item5), FastEqualityComparer <T6> .Default.GetHashCode(Item6), FastEqualityComparer <T7> .Default.GetHashCode(Item7), FastEqualityComparer <T8> .Default.GetHashCode(Item8), FastEqualityComparer <T9> .Default.GetHashCode(Item9), FastEqualityComparer <T10> .Default.GetHashCode(Item10), FastEqualityComparer <T11> .Default.GetHashCode(Item11), FastEqualityComparer <T12> .Default.GetHashCode(Item12), FastEqualityComparer <T13> .Default.GetHashCode(Item13), FastEqualityComparer <T14> .Default.GetHashCode(Item14), FastEqualityComparer <T15> .Default.GetHashCode(Item15), FastEqualityComparer <T16> .Default.GetHashCode(Item16), FastEqualityComparer <TRest> .Default.GetHashCode(Rest));
public override int GetHashCode() => HashHelpers.Combine(_object?.GetHashCode() ?? 0, _integer);
private static int CombineHashCodes(int h1, int h2, int h3) { return(HashHelpers.Combine(CombineHashCodes(h1, h2), h3)); }
private static int CombineHashCodes(int h1, int h2) { return(HashHelpers.Combine(HashHelpers.Combine(HashHelpers.RandomSeed, h1), h2)); }