加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 使用正则表达式比较两个软件版本号

发布时间:2020-12-16 01:49:24 所属栏目:百科 来源:网络整理
导读:如何使用 Regex查找最新版本号? ?例如 3.0.0.0 3.1.0.0 4.0.1.0 4.0.1.2 问候 庵埠 解决方法 为何使用正则表达式?他们没有进行比较.但是,System.Version不仅会解析字符串,还支持比较: // Use your favorite comparison operatorvar current = new Version
如何使用 Regex查找最新版本号?
?例如

3.0.0.0& 3.1.0.0

4.0.1.0& 4.0.1.2

问候

庵埠

解决方法

为何使用正则表达式?他们没有进行比较.但是,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)));
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读