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