Do...Loop 语句使用列表框的数组

Do...Loop statement using an array for listbox

第一部分有问题,我已经把第二部分都写在纸上了,但没有第一部分我就无法插入。

我遇到的是 btnAdd_Click 过程应该将数字 1 添加到 intQuantities 数组中的每个元素(我已经有了我想要做的元素),并在lst数量控制;使用 Do...Loop 语句。

' class级数组 私人 intQuantities() 作为整数 = {45, 67, 2, 5, 90}

Private Sub btnExit_Click(sender As Object, e As EventArgs) Handles btnExit.Click
    Me.Close()
End Sub

Private Sub btnAdd_Click(sender As Object, e As EventArgs) Handles btnAdd.Click
    ' adds 1 to each array value and then displays the array




    lstQuantities.Items.Clear()

End Sub

Private Sub btnSubtract_Click(sender As Object, e As EventArgs) Handles btnSubtract.Click
    ' subtracts 1 from each array value and then displays the array

    lstQuantities.Items.Clear()

我只是无法理解这个概念,并且对 Do...Loops、For...Next 语句有困难,这就是我为减法按钮所做的。

使用 Do...Loop 遍历数组有点不寻常,但您需要做的就是在循环内递增一个索引变量,直到它等于 [=13= 的长度] 大批。您可以使用任何一种形式的 Do...Loop - 例如使用 While:

Dim i = 0
Do While i < intQuantities.Length
    intQuantities(i) += 1
    i += 1
Loop

或使用Until:

Dim i = 0
Do Until i = intQuantities.Length
    intQuantities(i) += 1
    i += 1
Loop

Do you want to permanently change the values in the original array?...or just display the values + 1 in your ListBox? – Idle_Mind

2 days ago display the values + 1 in my listbox – Taylor

这是计算加一和减一部分的一种方法:

Public Class Form1

    Private intQuantities() As Integer = {45, 67, 2, 5, 90}

    Private Sub btnAdd_Click(sender As Object, e As EventArgs) Handles btnAdd.Click
        lstQuantities.DataSource = Array.ConvertAll(intQuantities, Function(x) x + 1)
    End Sub

    Private Sub btnSubtract_Click(sender As Object, e As EventArgs) Handles btnSubtract.Click
        lstQuantities.DataSource = Array.ConvertAll(intQuantities, Function(x) x - 1)
    End Sub

End Class