public static SemanticVersion TryParse()

in JetBrains.Profiler.SelfApi/src/Impl/NuGet.cs [84:110]


      public static SemanticVersion TryParse(string value)
      {
        if (string.IsNullOrEmpty(value))
          return null;

        var prerelease = (string) null;
        var build = (string) null;

        var idx = value.LastIndexOf('+');
        if (idx >= 0)
        {
          build = value.Substring(idx + 1);
          value = value.Substring(0, idx);
        }

        idx = value.LastIndexOf('-');
        if (idx >= 0)
        {
          prerelease = value.Substring(idx + 1);
          value = value.Substring(0, idx);
        }

        if (!Version.TryParse(value, out var version))
          return null;

        return new SemanticVersion(version, prerelease, build);
      }