這個正在作業,但即使第一個輸入高于第二個輸入,它也只會按升序輸出一個數字序列。
這是我想要發生的事情
升序什么時候
第一個輸入:2
第二個輸入:8
結果 2、3、4、5、6、7、8
降序當
第一個輸入:9
第二個輸入:6
結果:9、8、7、6
Private Sub btnAccept_Click(sender As Object, e As EventArgs) Handles btnAccept.Click
Dim A = txtstart.Text
Dim B = txtend.Text
Dim Start, Ending As Integer
If A < B Then
Start = A
Ending = B
Else
Start = B
Ending = A
End If
While Start <= Ending
lblbetween1.Text = lblbetween1.Text & Start & " , "
Start = 1
End While
End Sub
uj5u.com熱心網友回復:
使用For回圈,您可以選擇增量,因此您可以檢查數字的順序并適當設定增量,例如:
Option Strict On
Imports System.Text
' ....
Private Sub btnAccept_Click(sender As Object, e As EventArgs) Handles btnAccept.Click
Dim a = Integer.Parse(txtStart.Text)
Dim b = Integer.Parse(txtEnd.Text)
Dim inc As Integer = 0
If a < b Then
inc = 1
Else
inc = -1
End If
Dim sb As New StringBuilder()
For i = a To b Step inc
sb.Append(i & " , ")
Next
lblbetween1.Text = sb.ToString()
End Sub
幸運的是,如果數字相等,這仍然有效,因此不需要特殊情況。
最好使用 StringBuilder 來連接大量字串,而不是僅&用于大量字串或控制元件的內容。
Option Strict On確保程式不會嘗試執行可能出現意外結果的操作,例如向字串添加數字。您應該將其設定為新專案的默認值。
uj5u.com熱心網友回復:
你可以這樣做:
將需要添加
Imports System.Linq
進而
Dim a = 10I
Dim b = 15I
Dim start = Math.Min(a, b)
Dim count = Math.Max(a, b) - start
Dim series = Enumerable.Range(start, count 1).ToList
If b < a Then
series.Reverse()
End If
Dim result = String.Join(",", series)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/352602.html
標籤:网络
上一篇:“dict”物件沒有這樣的歸因錯誤——基本的python
下一篇:在另一個網路表單中填充清單
