VB 2008中的连续数字

时间:2011-10-28 15:21:00

标签: visual-studio-2008

我想在VB 2008中为连续数字编写代码,如果它们不是连续写入它们的话。

例如:如果我有整数列表= 1,2,3,4,10,11,15

我希望传递这种语言

1到4,10,11和15

请帮助我!

由于

1 个答案:

答案 0 :(得分:0)

基本上,您需要遍历它们并根据以前的值为输出应用一组规则。同样从您的示例输出中,您将需要测试以查看是否已到达阵列的末尾 这是一个非常冗长的方式(vb.net不是我通常使用的语言,所以请原谅任何错误):

Public Shared Function TestMethod() As String
        Dim _integers() As Integer = {1, 2, 3, 4, 10, 11, 15}
        Dim _temp As Integer = _integers(0)
        Dim _result As String = _temp.ToString()
        For i As Integer = 1 To _integers.Length - 1
            If (i + 1) = _integers.Length Then
                _result += " and " + _integers(i).ToString()
            ElseIf (_integers(i) - _temp) = 1 Then
                _result += ", " + _integers(i).ToString()
            Else
                _result += " through " + _integers(i).ToString()
            End If
            _temp = _integers(i)
        Next
        Return _result
End Function