最近遇到了一个数据迁移的问题,因为配置文件的结构发生变化,所以要把低版本的用户数据保存下来,存到最新版本中去。

这里就有一个比较版本号大小的问题了,网上乱七八糟算法一堆,大致意思就是用分割字符串的方法,比如2.1.2和2.2.4,

挨个比较,用递归来处理等等的,其实C#自带一个类Verson ,可以满足大部分关于版本的类似需求。

写了个小程序,可以自己去验证,在两个textbox中输入版本号,点击比较按钮进行比较,给出相应的提示。

代码如下:

     private void Button_Click(object sender, RoutedEventArgs e)
{
Version v1 = new Version(txt1.Text);
Version v2 = new Version(txt2.Text);
if (v1 > v2)
{
MessageBox.Show("版本1高于版本2");
}
if (v1 < v2)
{
MessageBox.Show("版本1低于版本2");
}
}

C# 如何比较版本号大小的更多相关文章

  1. iOS 比较版本号大小的方法

    比较iOS版本号大小 eg:3.2.0和3.1.0 或者 3.2.0和3.2比较 返回bool值变量YES or NO -(BOOL)compareVesionWithServerVersion:(N ...

  2. JS实现两版本号大小比较

    JavaScript实现版本号比对(含字母) 昨天,有一道面试题,要求是这样的: 用你熟悉的编程语言,实现一个比较任意两个软件版本号大小的函数,如1.2.3a与1.2.4b进行比较,后者版本号更大,要 ...

  3. android 版本号大小比较

    https://www.jianshu.com/p/ee1990270ee1 网上找了很多方法都不太靠谱,有问题,自己改了改,亲试可以 大家都知道,版本号一般由以下几部分组成: 1. 主版本号 2. ...

  4. javascript 比较版本号大小 字符串

    * 不用系统比较大小的函数 // 不考虑字母 function s2i(s) { return s.split('').reduce(function(a, c) { var code = c.cha ...

  5. iOS 版本号大小比较

    NSString *num1 = @"5.2.0";    NSString *num2 = @"5.3.0"; if ([num1 compare:num2 ...

  6. 十六、xx.xx.xx格式版本号大小比较

    DELIMITER $$ USE `deshangshidai`$$ DROP FUNCTION IF EXISTS `STRCMP_MY_VERSION`$$ CREATE DEFINER=`roo ...

  7. Java实现比较版本号

    涉及到客户端的系统中经常需要用到比较版本号的功能,但是比较版本号又不能完全按照字符串比较的方式去用compareTo之类的方法: 这就需要我们总结版本号的通用规则,设计一个比较算法并封装成通用方法来使 ...

  8. 版本号对比 -- Python实现

    相同位数版本号大小比较: def abc(str1, str2): if str1 == "" or str2 == "": print("输入包含空 ...

  9. 版本号比较函数-js

    面试前,让做的一个版本号比较函数. <script type="text/javascript"> var v1=prompt("请输入第一个版本号" ...

随机推荐

  1. 06_Hibernate缓存

    一.缓存概述 什么是缓存: 缓存将数据库/硬盘上文件中数据,放入到缓存中(就是内存中一块空间).当再次使用的使用,可以直接从内存中获取. 缓存的好处: 提升程序运行的效率.缓存技术是Hibernate ...

  2. Struts2入门问题

    一 使用Struts 2 开发程序的基本步骤 加载Struts2 类库 配置web.xml文件 开发视图层页面 开发控制层Action 配置struts.xml文件 部署.运行项目 第一步先导架包:在 ...

  3. PKU--2184 Cow Exhibition (01背包)

    题目http://poj.org/problem?id=2184 分析:给定N头牛,每头牛都有各自的Si和Fi 从这N头牛选出一定的数目,使得这些牛的 Si和Fi之和TS和TF都有TS>=0 F ...

  4. Leetcode965. Univalued Binary Tree单值二叉树

    如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树. 只有给定的树是单值二叉树时,才返回 true:否则返回 false. 示例 1: 输入:[1,1,1,1,1,null,1] 输出:tr ...

  5. HZOI20190803 B题

    题目:https://www.cnblogs.com/Juve/articles/11295333.html 话说这题方法挺多 40分:暴力 65:莫队,你会T得飞起 我考场上没打出带修莫队,没有修改 ...

  6. 工控安全入门(四)—— DNP3协议

    我们之前看过了法国施耐德的Modbus.德国西门子的S7comm,这次就让我们把目光投到美洲,看看加拿大的HARRIS的DNP3有什么特别之处. 这次选用的流量包部分来自w3h的gitbub: htt ...

  7. php缓存技术有哪些(总结)

    php缓存技术有哪些(总结) 一.总结 一句话总结: 静态页面:全页面静态化缓存,页面部分缓存(将页面中不常变动的部分进行静态化缓存), 数据缓存:比如我的每轮的题目数据,商店,寻宝数据等 数据库:查 ...

  8. SpringMvc项目加载顺序及上下文小结

    前言: 使用springMvc已经三年了,但是内部原来一直不太了解,看到ServletConetxt和ApplicationContext头就大,趁着这几天学习,正好学习下相关的知识. 1.Servl ...

  9. c++ string 字符串

    转载   http://www.renfei.org/blog/introduction-to-cpp-string.html 运算符重载 + 和 +=:连接字符串 =:字符串赋值 >.> ...

  10. 安装ubuntn16.04重启后出现grub secure界面

    参考:http://jingyan.baidu.com/article/c85b7a640cd7d6003bac95f8.html 安装ubuntn重启后出现grub secure界面的原因是在安装过 ...