C#类似版本号有多个分割符可以产生的排列组合,类似版本号比较
我采用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 - 1; i > 0; i--) { if (int.Parse(b[i]) < int.Parse(a[i])) { b[i] = (int.Parse(b[i]) + 1).ToString(); break; } if (i - 1 >= 0&& int.Parse(b[i-1]) < int.Parse(a[i-1])) { for (var j = i; j < a.Length; j++) { b[j] = "0"; } b[i-1] = (int.Parse(b[i-1]) + 1).ToString(); break; } } for (int k = 0; k < a.Length-1; k++) { if (int.Parse(a[k]) < int.Parse(b[k])) { flag = false;//说明current是大的如果比较大小,改返回为bool,最后return flag即可 break; } } return string.Join(",", b); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗