首页 > 解决方案 > 如何将数字从 2.1.0 增加到 2.1.1

问题描述

我正在为各种应用程序开发维护系统,但我遇到了一个算术问题。

对于现在是 2.1.0 的字符串,我想将 0.0.1 添加到 2.1.0,所以它将是 2.1.1。我可以使用什么算法?

标签: vb.net

解决方案


您需要遍历各个部分(由点分隔),将它们从字符串转换为整数,将增量添加到版本中,然后将这些部分重新组合成一个字符串。

有很多方法可以编码,例如:

Dim s = "2.1.0"
Dim t = "0.0.1"

Dim n = String.Join(".", s.Split("."c).Zip(t.Split("."c), Function(a, b) CInt(a) + CInt(b)))

Console.WriteLine(n)

输出字符串

2.1.1


或者,如果你想使用Version 类,它有点繁琐:

Dim s = "2.1.0"
Dim t = "0.0.1"

Dim v = Version.Parse(s)
Dim inc = Version.Parse(t)

Dim maj = v.Major + inc.Major
Dim min = v.Minor + inc.Minor
Dim build = If(v.Build >= 0 OrElse inc.Build >= 0, Math.Max(v.Build, 0) + Math.Max(inc.Build, 0), -1)
Dim rev = If(v.Revision >= 0 OrElse inc.Revision >= 0, Math.Max(v.Revision, 0) + Math.Max(inc.Revision, 0), -1)

Dim n As Version
If rev >= 0 Then
    n = New Version(maj, min, build, rev)
ElseIf build >= 0 Then
    n = New Version(maj, min, build)
Else
    n = New Version(maj, min)
End If

Console.WriteLine(n)

推荐阅读