VB.NET如何根据两个输入值大小自动输出升序或降序连续数字序列
问题分析
- 原代码缺陷:强制将较小值作为序列起点、较大值作为终点,遍历步长固定为+1,因此无论输入的两个值顺序如何,都只会输出升序序列;同时原有拼接逻辑会导致输出结果末尾多出多余的
,分隔符。
修正后代码
推荐采用更易维护、自动处理分隔符的实现方案:
Private Sub btnAccept_Click(sender As Object, e As EventArgs) Handles btnAccept.Click ' 输入合法性校验,避免非数字输入导致程序崩溃 If Not Integer.TryParse(txtstart.Text, Dim Start) OrElse Not Integer.TryParse(txtend.Text, Dim Ending) Then MessageBox.Show("请输入合法整数") Return End If ' 清空上一次输出结果 lblbetween1.Text = String.Empty Dim numList As New List(Of Integer) If Start <= Ending Then ' 升序场景:步长+1 For i = Start To Ending Step 1 numList.Add(i) Next Else ' 降序场景:步长-1 For i = Start To Ending Step -1 numList.Add(i) Next End If ' 自动拼接分隔符,无末尾多余逗号问题 lblbetween1.Text = String.Join(", ", numList) End Sub
效果验证
- 升序场景:第一个输入2、第二个输入8,输出
2, 3, 4, 5, 6, 7, 8,符合预期 - 降序场景:第一个输入9、第二个输入6,输出
9, 8, 7, 6,符合预期
内容的提问来源于stack exchange,提问作者Corbin Jones
相关产品推荐
相关产品推荐

