public int CompareTo(SdkVersion other) { if (Major != other.Major) { return(Major - other.Major); } if (Minor != other.Minor) { return(Minor - other.Minor); } if (Patch != other.Patch) { return(Patch - other.Patch); } if (PrereleaseLabel != other.PrereleaseLabel) { if (string.IsNullOrEmpty(PrereleaseLabel)) { return(1); } else if (string.IsNullOrEmpty(other.PrereleaseLabel)) { return(-1); } else { return(PrereleaseLabel.CompareTo(other.PrereleaseLabel)); } } return(0); }
public override int GetHashCode() { int ret = PrereleaseLabel?.GetHashCode() ?? 0; ret ^= Major << 24; ret ^= Minor << 16; ret ^= Patch << 8; return(ret); }