3
A
回答
11
为什么要使用正则表达式?他们不执行比较。然而,不仅System.Version将解析字符串,但它支持的比较:
// Use your favorite comparison operator
var current = new Version("4.0.1.2");
var found = new Version("4.0.1.0");
if (found > current)
{
Console.WriteLine("Upgrade needed to {0} from {1}", found, current);
}
else
{
Console.WriteLine("No upgraded needed from {0}", current);
}
或者,如果你在一个枚举有他们,它很好地使用LINQ:
var versions = new [] { "3.0.0.0", "3.1.0.0", "4.0.1.0", "4.0.1.2" };
foreach (var version in versions.Select(Version.Parse)
.OrderByDescending(v => v))
{
Console.WriteLine("{0}", version);
}
// Group them by Major Version first, then sort
foreach (var major in versions.Select(Version.Parse)
.GroupBy(v => v.Major)
.OrderByDescending(g => g.Key))
{
Console.WriteLine("{0}: {1}",
major.Key,
String.Join(", ", major.OrderByDescending(v => v)));
}
0
尝试与这一个
static class Program
{
static void Main()
{
string v1 = "1.23.56.1487";
string v2 = "1.24.55.487";
var version1 = new Version(v1);
var version2 = new Version(v2);
var result = version1.CompareTo(version2);
if (result > 0)
Console.WriteLine("version1 is greater");
else if (result < 0)
Console.WriteLine("version2 is greater");
else
Console.WriteLine("versions are equal");
return;
}
}
-4
那么版本号只是一个数字..比较3.0.0.0 & 3.1.0.0就像比较3000和3100一样最简单的是:
int v1 = 3000;
int v2 = 3100;
if (v2 > v1) { my routine; }
+0
除版本为4.0.30319.1(当前C#编译器的版本号)外。 – user7116
+0
你没有提及与同一主要版本编号比较不同的版本!!!!!! –
相关问题
- 1. 比较使用boost ::正则表达式(C++)两个正则表达式
- 2. 使用正则表达式比较两个文档
- 3. 使用正则表达式比较两个值
- 4. 比较正则表达式
- 5. 正则表达式比较
- 6. 正则表达式比较?
- 7. 如何使用正则表达式匹配软件的版本
- 8. 正则表达式比较表达式
- 9. 用正则表达式比较数据
- 10. Java正则表达式两个问号(??)
- 11. 如何比较Clojure中的两个正则表达式?
- 12. 正则表达式来比较javascript中的两个日期
- 13. 如何比较两个正则表达式?
- 14. 正则表达式来提取软件版本
- 15. 使用正则表达式增加版本号
- 16. 正则表达式boost库比较
- 17. 匹配比较的正则表达式
- 18. 正则表达式(字符串比较)
- 19. 正则表达式的比较
- 20. 正则表达式风味的比较
- 21. JS正则表达式替换文件名中的版本号
- 22. 正则表达式来捕捉一个版本号
- 23. Svn tortoiseto比较两个版本的软件
- 24. 正则表达式陷阱img标签,这两个版本
- 25. 使用正则表达式(或另一个Python模块)比较文本/字符?
- 26. 当正则表达式比较时包含变量的正则表达式
- 27. 结合升压正则表达式两个正则表达式
- 28. 正则表达式或OR两个范围正则表达式
- 29. 正则表达式,“两个正则表达式的总和”
- 30. 正则表达式的版本号(vX.X.X)不起作用
你不需要这个正则表达式。在点上分割版本字符串,将零件转换为内积,并逐个比较(从主版本开始)。 – kol