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);
        }