Stetic.WidgetUtils.CompareVersions C# (CSharp) Method

CompareVersions() public static method

public static CompareVersions ( string v1, string v2 ) : int
v1 string
v2 string
return int
        public static int CompareVersions(string v1, string v2)
        {
            string[] a1 = v1.Split ('.');
            string[] a2 = v2.Split ('.');

            for (int n=0; n<a1.Length; n++) {
                if (n >= a2.Length)
                    return -1;
                if (a1[n].Length == 0) {
                    if (a2[n].Length != 0)
                        return 1;
                    continue;
                }
                try {
                    int n1 = int.Parse (a1[n]);
                    int n2 = int.Parse (a2[n]);
                    if (n1 < n2)
                        return 1;
                    else if (n1 > n2)
                        return -1;
                } catch {
                    return 1;
                }
            }
            if (a2.Length > a1.Length)
                return 1;
            return 0;
        }

Usage Example

Example #1
0
 public bool SupportsGtkVersion(string targetVersion)
 {
     return(WidgetUtils.CompareVersions(TargetGtkVersion, targetVersion) >= 0);
 }