Самый простой способ - использовать класс Version
- кто-то другой уже написал логику для вас.
var c1 = new Version(major, minor, build, revision);
var sv = new Version(major, minor, build, revision);
var tv = new Version(major, minor, build, revision);
if (c1 >= sv && c1 <= tv) ....
Взять ваш конкретный пример
Хорошо, чтобы прояснить ситуацию.Например, я хочу проверить, находится ли версия 1.0.44.4736 между версиями 1.0.44.11 и 1.1.0.5.
var c1 = new Version(1, 0, 44, 4736);
var sv = new Version(1, 0, 44, 11);
var tv = new Version(1, 1, 0, 5);
if (c1 >= sv && c1 <= tv)
{
Console.WriteLine(c1 + " is between " + sv + " and " + tv);
}
Запустите ее здесь .
Если вы действительно хотите реализовать это сами ...
public static int Compare(Version x, Version y)
{
int result = x.Major.CompareTo(y.Major);
if (result != 0)
return result;
result = x.Minor.CompareTo(y.Minor);
if (result != 0)
return result;
result = x.Build.CompareTo(y.Build);
if (result != 0)
return result;
result = x.Revision.CompareTo(y.Revision);
return result;
}
Тогда
if (Compare(c1, sv) >= 0 && Compare(c1, tv) <= 0) ...