如何将数字从2.1.0增加到2.1.1

时间:2018-09-27 05:54:20

标签: vb.net

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

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

1 个答案:

答案 0 :(得分:0)

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

有很多编码方法,例如:

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 class,则更麻烦一些:

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)