/// <summary> /// Returns true if RouteResponsePath instances are equal /// </summary> /// <param name="input">Instance of RouteResponsePath to be compared</param> /// <returns>Boolean</returns> public bool Equals(RouteResponsePath input) { if (input == null) { return(false); } return (( Distance == input.Distance || (Distance != null && Distance.Equals(input.Distance)) ) && ( Time == input.Time || (Time != null && Time.Equals(input.Time)) ) && ( Ascend == input.Ascend || (Ascend != null && Ascend.Equals(input.Ascend)) ) && ( Descend == input.Descend || (Descend != null && Descend.Equals(input.Descend)) ) && ( Points == input.Points || (Points != null && Points.Equals(input.Points)) ) && ( PointsEncoded == input.PointsEncoded || (PointsEncoded != null && PointsEncoded.Equals(input.PointsEncoded)) ) && ( Bbox == input.Bbox || Bbox != null && Bbox.SequenceEqual(input.Bbox) ) && ( SnappedWaypoints == input.SnappedWaypoints || (SnappedWaypoints != null && SnappedWaypoints.Equals(input.SnappedWaypoints)) ) && ( Instructions == input.Instructions || (Instructions != null && Instructions.Equals(input.Instructions)) )); }
/// <summary> /// Gets the hash code /// </summary> /// <returns>Hash code</returns> public override int GetHashCode() { unchecked // Overflow is fine, just wrap { int hashCode = 41; if (Distance != null) { hashCode = hashCode * 59 + Distance.GetHashCode(); } if (Time != null) { hashCode = hashCode * 59 + Time.GetHashCode(); } if (Ascend != null) { hashCode = hashCode * 59 + Ascend.GetHashCode(); } if (Descend != null) { hashCode = hashCode * 59 + Descend.GetHashCode(); } if (Points != null) { hashCode = hashCode * 59 + Points.GetHashCode(); } if (PointsEncoded != null) { hashCode = hashCode * 59 + PointsEncoded.GetHashCode(); } if (Bbox != null) { hashCode = hashCode * 59 + Bbox.GetHashCode(); } if (SnappedWaypoints != null) { hashCode = hashCode * 59 + SnappedWaypoints.GetHashCode(); } if (Instructions != null) { hashCode = hashCode * 59 + Instructions.GetHashCode(); } return(hashCode); } }