我采用asp.net进行演示

送给有缘人吧,可以获得类似版本号的功能,也可以对比两个版本号,我这里是其他需要用逗号分割的

using System;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
var b = Request.QueryString["b"];
if (string.IsNullOrEmpty(b))
{
b = "0,3,5";
} var a = b;//GetNewBb("2,3,5", b);//没有解决低位重新计算
while (a != "2,3,5")
{
b = a;
a = GetNewVersion("2,3,5", b);
Response.Write(a + "<br />");
}
}
private string GetNewVersion(string max, string current,char separator=',')
{
var a = max.Split(separator);//分割字符
var b = current.Split(separator);//分割字符2
var flag = true;//设第一个大
for (int i = a.Length - ; i > ; i--)
{
if (int.Parse(b[i]) < int.Parse(a[i]))
{
b[i] = (int.Parse(b[i]) + ).ToString();
break;
}
if (i - >= && int.Parse(b[i-]) < int.Parse(a[i-]))
{
for (var j = i; j < a.Length; j++)
{
b[j] = "";
}
b[i-] = (int.Parse(b[i-]) + ).ToString();
break;
}
} for (int k = ; k < a.Length-; k++)
{
if (int.Parse(a[k]) < int.Parse(b[k]))
{
flag = false;//说明current是大的如果比较大小,改返回为bool,最后return flag即可
break;
}
}
return string.Join(",", b);
}
}

C#类似版本号有多个分割符可以产生的排列组合,类似版本号比较的更多相关文章

  1. python3.4学习笔记(二十二) python 在字符串里面插入指定分割符,将list中的字符转为数字

    python3.4学习笔记(二十二) python 在字符串里面插入指定分割符,将list中的字符转为数字在字符串里面插入指定分割符的方法,先把字符串变成list然后用join方法变成字符串str=' ...

  2. Hive默认分割符

    1.Hive默认的分隔符 Hive的表数据,不管导出到HDFS还是本地文件系统,如果用户在导出时没有指定分割符,那么Hive表的数据在写入文件时,会使用默认的分隔符作为列分隔符,该默认的分割是“CTR ...

  3. java中构建同时兼容linux和windows程序时遇到的文件路径分割符问题解决方案

    最近在做一个自动上传文件的客户端,因为 file.getAbsolutePath()  在Mac和linux下的分割符是“/”,而在windows操作系统下的分割符则是“\”,我们程序中固然可以通过调 ...

  4. php用explode,可以提供多个字符作为分割符来进行分割数组吗?

    explode — 使用一个字符串分割另一个字符串, 它的函数原型如下: array explode ( string $delimiter , string $string [, int $limi ...

  5. hadoop2.6.0中自定义分割符

    最近在学习hadoop,用的hadoop2.6.0 然后在学习编写mapreduce程序时,发现默认对文件的输入是采用每行进行分割,下面来分析下改变这个分割方式的办法: 来看看默认是怎样实现的:

  6. java以逗号为分割符拼接字符串的技巧

    java以逗号为分割符拼接字符串的技巧   答: 不用那么多if判断,让人思维混乱,直接到最后使用deleteCharAt方法去除最后一个逗号即可. 实现代码如下所示: StringBuffer sb ...

  7. Android 用空格作为分割符切割字符串

    项目中有需要用到空格作为分割符切割字符串,进而转为List. String wordStore = edWord.getText().toString(); String[] word = wordS ...

  8. JAVA中获取不同系统的换行符和获取系统路径路径分割符

    简介 JAVA具有多平台特征,一次开发,多平台运行,主要依据JVM,但是不同的操作系统中换行符和分割符不同,故需要根据不同的操作系统去获取不同的符号. JAVA代码 @Test public void ...

  9. 小技巧之“将Text文件中的数据导入到Excel中,这里空格为分割符为例”

    1.使用场景 将数据以文本导出后,想录入到Excel中,的简便方案, 起因:对于Excel的导出,Text导出明显会更方便些 2.将Text文件中的数据导入到Excel中,这里空格为分割符为例的步骤 ...

随机推荐

  1. 利用arpspoof探取账户密码

    ---恢复内容开始--- > /proc/sys/net/ipv4/ip_forward 首先在kali里开启IP转发功能 arpspoof -t 被害人ip 网关ip -i eth0 例如 再 ...

  2. Shell 学习笔记之传递参数

    传递参数 设置权限 chmod +x file.sh 传递参数 ./file.sh parameter1 ... 特殊字符 $# 传递到脚本的参数个数 $* 以一个单字符串的形式显示所有向脚本传递的参 ...

  3. 读书笔记_Effective_C++_条款三十一:将文件间的编译依存关系降至最低(第三部分)

    下面来谈谈书中的第二部分,用Interface Classes来降低编译的依赖.从上面也可以看出,避免重编的诀窍就是保持头文件(接口)不变化,而保持接口不变化的诀窍就是不在里面声明编译器需要知道大小的 ...

  4. ESB的几个基本概念

    京-星之泪:  请教一个问题:esb中路由和管道对的概念应该怎么理解,各自有什么用途,他们之间的关系 北京-kimmking: transport  endpoint inbound  outboun ...

  5. Java Log Viewer日志查看器

    工欲善其事必先利其器 在投奔怒海--一个Domino老程序猿眼里的Java开发我提到眼下所做的Java开发中遇到的大量日志之问题. server控制台刷屏似地滚动,日志文件飞快地增长,debug的时候 ...

  6. http://bbs.chinaunix.net/thread-169061-1-1.html

    http://bbs.chinaunix.net/thread-169061-1-1.html

  7. 在MyEclipse上安装svn插件

    最近需要用到myeclipse做一个商城的项目开发,用svn作为项目的版本控制软件.但是在myeclipse上安装svn插件就是装不好,反复折腾了好几次都安装不成功.网上提供的安装办法有两种,一是:在 ...

  8. Lucene新版本号对ConjunctionScorer的优化

    Lucene 4.0版本号的DocIdSetIterator中没有cost方法,而4.7.0则有这种方法,表示遍历整个DocIdSet的代价,对于DocsEnum就是其长度了,对于Scorer就能够是 ...

  9. XCode快捷键 转

    1. 文件 CMD + N: 新文件CMD + SHIFT + N: 新项目CMD + O: 打开CMD + S: 保存CMD + SHIFT + S: 另存为CMD + W: 关闭窗口CMD + S ...

  10. DevExpress RichEditControl 上下翻页功能 z

    /// <summary> /// 翻页 /// </summary> /// <param name="isPre"></param&g ...