public override bool Equals(object obj) { if (obj == null || !(obj is NodeTravellingSalesmanEdge)) { return(false); } NodeTravellingSalesmanEdge rhs = obj as NodeTravellingSalesmanEdge; return(StartStep.Equals(rhs.StartStep) && EndStep.Equals(rhs.EndStep) && Score.Equals(rhs.Score)); }