怎么比较x.x.x与x.x.x的值

z779150119 2013-09-12 03:02:03
比如2.5.1和3.4.9怎么比较他们,分不多了只有这么点了
...全文
626 75 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
75 条回复
切换为时间正序
请发表友善的回复…
发表回复
z779150119 2013-09-16
  • 打赏
  • 举报
回复
感谢 subxli 帮我解决了,下面是代码,贴出来与大家分享
   private void ShowCopyRight()
        {
            string strv1 = clVersionNo;
            string strv2 = seVersionNo;
            int nv1 = int.Parse(strv1.Replace(".", ""));
            int nv2 = int.Parse(strv2.Replace(".", ""));

            List<string> strList = new List<string>();
            for (int i = nv1+1; i < nv2+1; i++)
            {
                //从客户端的版本号开始拼接
                string Result = i.ToString();
                Result = Result.Insert(1, ".").Insert(3, ".");

                strList.Add(Result);
            }
            XmlDocument xmlDoc = new XmlDocument();
            url = ServerPath.Substring(0, ServerPath.LastIndexOf("\\"));
            xmlDoc.Load(url + "\\UpdateList.xml");

            XmlNodeList xList = xmlDoc.GetElementsByTagName("App");

            
            foreach (string item in strList)
            {
                foreach (XmlNode xNode in xList)
                {
                    string RemoteName = xNode.Attributes["Version"].Value;
                    if (item.Contains(RemoteName))
                    {
                        tbx_txt.Text += "更新至:" + RemoteName + "\r\n" + xNode.InnerText.ToString().Trim().Replace(" ", "") + "\r\n\r\n";
                    }
                }
            }
        }
z779150119 2013-09-16
  • 打赏
  • 举报
回复
没什么太大的用,还是我自己解决吧
PaulyJiang 2013-09-13
  • 打赏
  • 举报
回复
if (newVersion.CompareTo(oldVersion) != 1)// 旧版本号 不小于 新版本号 不需要更新
PaulyJiang 2013-09-13
  • 打赏
  • 举报
回复
Compare
handsomekyle 2013-09-13
  • 打赏
  • 举报
回复
应该是比较版本号吧。 直接从前端开始截取,一位一位地比不就好了么
hudsonhuang 2013-09-12
  • 打赏
  • 举报
回复
version类
逍遥jc 2013-09-12
  • 打赏
  • 举报
回复
遍历数据库不行么?难道存数据的时候不是按照顺序存的而是乱序?根据起始的版本号找到起始ID,然后再根据终止的版本号找到终止ID,然后遍历下两个ID之间的版本信息不就好了。
  • 打赏
  • 举报
回复
楼主…至于怎么对比相差数楼上的前辈们都教你方法了,至于你要把这相差的版本信心显示出来 你要知道的信息都知道了还不会换位思考吗? 假设 开始版本号 231 结束版本号 234 234-231=3 相差了3个版本 直接用开始版本号+1不就得出232版本号了么?会减了难道不会加?
  • 打赏
  • 举报
回复
if(new Version("2.03.50").CompareTo(new Version("3.4.5")) < 0) 需要升级
  • 打赏
  • 举报
回复
我的是java写法 C#应该类似的 split();返回的是数组
  • 打赏
  • 举报
回复
1楼说的很对啊 String s[] = "1.2.3".split("."); 然后s[0]是1 s[1]是2 s[2]是3 剩下的你就自己比较了啊。
颤菊大师 2013-09-12
  • 打赏
  • 举报
回复
 Version v1 = new Version("3.3.3");
            Version v2 = new Version("3.3.2");
            if(v1 > v2)
            {

            }
这样?
z779150119 2013-09-12
  • 打赏
  • 举报
回复
各位,抱歉啊,这几天有事,所以可能上不了csdn,如果谁有解决方案了,请把方案放在上面。再说一次我的需要:从2.5.1更新到2.5.9,怎么从2.5.1开始把这中间的8个信息都显示出来,中间隔了多少个版本就显示多少个信息。然后更新的信息存在xml文件中的 <?xml version="1.0" encoding="gb2312"?> <AutoUpdate> <App Version="2.5.6" > <Description> 1.增加打印菜单 2.修复了BUG 3.发发阿达 4.个顶个我 </Description> </App> <App Version="2.5.5" > <Description> 1.增加打印菜单 2.修复了BUG 3.发发阿达 4.个顶个我 </Description> </App> </AutoUpdate> 要显示成 : 更新至v2.5.2 1.增加了... 2.修复了... 更新至v2.5.2 2.增加了... 2.修复了... ................ 更新至v2.5.2 9.增加了... 2.修复了... 计算出2.5.1到2.5.9我会,我不会的是,如何从2.5.1开始吧2.5.5-2.5.9的信息显示出来
z779150119 2013-09-12
  • 打赏
  • 举报
回复
引用 59 楼 china_jeffery 的回复:
[quote=引用 54 楼 z779150119 的回复:] [quote=引用 51 楼 china_jeffery 的回复:] [quote=引用 2 楼 q107770540 的回复:] 直接去掉. 变成整数对比呢
我认为这位大神说的很不错[/quote]这样子是可以啊,但我的需要是,比如我从2.5.1更新到2.5.9,怎么从2.5.1开始把这中间的8个信息都显示出来,中间隔了多少个版本就显示多少个信息。然后更新的信息存在xml文件中的 <?xml version="1.0" encoding="gb2312"?> <AutoUpdate> <App Version="2.5.6" > <Description> 1.增加打印菜单 2.修复了BUG 3.发发阿达 4.个顶个我 </Description> </App> <App Version="2.5.5" > <Description> 1.增加打印菜单 2.修复了BUG 3.发发阿达 4.个顶个我 </Description> </App> </AutoUpdate> 要显示成 : 更新至v2.5.2 1.增加了... 2.修复了... 更新至v2.5.2 2.增加了... 2.修复了... ................ 更新至v2.5.2 9.增加了... 2.修复了...[/quote] 这个要看你版本的递增的规则了,如果是连续的那就是1-9呀 感觉你没说清楚你的意思。。。[/quote] 是连续的啊,我说了何止一遍,自己不去看上面的消息,那如何弄呢
z779150119 2013-09-12
  • 打赏
  • 举报
回复
引用 56 楼 wanghui0380 的回复:
1.微软有version类 2.如果达不到你的要求,请展开你的联想,告诉我ip地址是怎么被转换成long滴。 ps:想法有问题滴,版本更新不一定是连续滴,所以想根据这个去提示消息不靠谱,假设你直更新一个大版本,那么你想提示什么“是一个提示,还是999个小版本提示”
微软的version类没用,ip地址如何转换成Long?去数据库读取的啊,请看一下我楼上发的需求
china_jeffery 2013-09-12
  • 打赏
  • 举报
回复
引用 54 楼 z779150119 的回复:
[quote=引用 51 楼 china_jeffery 的回复:] [quote=引用 2 楼 q107770540 的回复:] 直接去掉. 变成整数对比呢
我认为这位大神说的很不错[/quote]这样子是可以啊,但我的需要是,比如我从2.5.1更新到2.5.9,怎么从2.5.1开始把这中间的8个信息都显示出来,中间隔了多少个版本就显示多少个信息。然后更新的信息存在xml文件中的 <?xml version="1.0" encoding="gb2312"?> <AutoUpdate> <App Version="2.5.6" > <Description> 1.增加打印菜单 2.修复了BUG 3.发发阿达 4.个顶个我 </Description> </App> <App Version="2.5.5" > <Description> 1.增加打印菜单 2.修复了BUG 3.发发阿达 4.个顶个我 </Description> </App> </AutoUpdate> 要显示成 : 更新至v2.5.2 1.增加了... 2.修复了... 更新至v2.5.2 2.增加了... 2.修复了... ................ 更新至v2.5.2 9.增加了... 2.修复了...[/quote] 这个要看你版本的递增的规则了,如果是连续的那就是1-9呀 感觉你没说清楚你的意思。。。
智商余额不足 2013-09-12
  • 打赏
  • 举报
回复
代码是根据你的连续版本号写的,连续
智商余额不足 2013-09-12
  • 打赏
  • 举报
回复

static void Main(string[] args)
{
     string version1 = "2.5.1";
     string version2 = "2.5.9";
     int version1Int = int.Parse(version1.Replace(".", ""));
     int version2Int = int.Parse(version2.Replace(".", ""));
     for (int i = version1Int; i <= version2Int; i++)
     {
          string temp = i.ToString();
          string formatVersion = string.Format
               (
                    "{0}.{1}.{2}",
                    temp.Remove(temp.Length - 2),
                    temp[temp.Length - 2],
                    temp[temp.Length - 1]
               );
          Console.WriteLine(formatVersion);
      }
}
wanghui0380 2013-09-12
  • 打赏
  • 举报
回复
1.微软有version类 2.如果达不到你的要求,请展开你的联想,告诉我ip地址是怎么被转换成long滴。 ps:想法有问题滴,版本更新不一定是连续滴,所以想根据这个去提示消息不靠谱,假设你直更新一个大版本,那么你想提示什么“是一个提示,还是999个小版本提示”
z779150119 2013-09-12
  • 打赏
  • 举报
回复
引用 53 楼 zh1223ch 的回复:
你数据库怎么存的版本号?2.5.1更新成3.6.8 可能2.5.8之后直接3.1.1了呢,这没法算。你就直接遍历你存版本号的数据库。在数据库中设置个标识列,专门用来用来表示版本先后顺序的。
木有数据库的,数据库放的是别的信息
加载更多回复(54)

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧