public override int GetHashCode() { if (Value != null && UpperValue != null) { var combiner = HashCodeCombiner .Start() .Add(Value.GetHashCode()) .Add(UpperValue.GetHashCode()); return(combiner.CombinedHash); } else if (UpperValue != null) { return(UpperValue.GetHashCode()); } else if (Value != null) { return(Value.GetHashCode()); } return(0); }
/// <summary> /// See base docs. Do not use these objects as keys! /// </summary> /// <returns></returns> public override int GetHashCode() { unchecked { return((base.GetHashCode() << 16) | (LowerValue.GetHashCode() << 8) | UpperValue.GetHashCode()); } }