Exemplo n.º 1
0
        public static int CompareAsVersionTo([CanBeNull] this string a, [CanBeNull] string b)
        {
            if (a == null)
            {
                return(b == null ? 0 : -1);
            }
            if (b == null)
            {
                return(1);
            }

            var ap = a.Trim().ApartFromFirst("v").Split('.');
            var bp = b.Trim().ApartFromFirst("v").Split('.');

            for (var i = 0; i < ap.Length && i < bp.Length; i++)
            {
                var c = AlphanumComparatorFast.Compare(ap[i].Trim(), bp[i].Trim());
                if (c != 0)
                {
                    return(c);
                }
            }

            return(ap.Length - bp.Length);
        }