我以为我理解循环和数组是如何工作的,但出于某种原因,当我尝试一起使用它们时,我没有达到我的预期。基本上我想创建一个for循环来增加数组的索引,并为数组中的每个元素分配从用户输入的数字。在C ++中,它看起来像这样:
int array[11];
for(int i=0; i<12; i++)
{
array[i]=valueEntered;
}
现在我正在尝试在Visual Basic中重新创建它。这就是我所拥有的:
Dim gasArray(11) As Decimal
For i As Integer = 0 To 11 Step 1
gasArray(i) = Val(priceTB.Text)
priceLB.Items.Add(Val(priceTB.Text))
priceTB.Clear()
Next
但是我的价目表框(priceLB)只打印输入的第一个数字和其余数组的0。非常感谢任何帮助。
使用sub。之外的全局计数变量进行简单修复。
Dim gasArray(11) As Decimal
gasArray(i) = Val(priceTB.Text)
i += 1
priceLB.Items.Add(Val(priceTB.Text))
priceTB.Clear()
If i > 11 Then
enterBtn.Enabled = False
priceTB.Enabled = False
End If
答案 0 :(得分:3)
你为什么打电话给priceTB.Clear()
?我认为这将清除文本框,因此数组的其余部分变为0。
答案 1 :(得分:0)
在阅读您的案例时,我了解您需要在一个文本框中添加10个不同的数字。好的,因为@rcs说priceTB.Clear()
将在第一次迭代后清空文本框。
所以我建议你在你的情况下使用inputbox。它将帮助您在该循环的10次迭代中获得10个不同的值。
Dim gasArray(9) As Decimal
For i As Integer = 0 To gasArray.length - 1
gasArray(i) = Val(InputBox("Enter a value", "Hello", String.Empty))
priceLB.Items.Add(gasArray(i))
Next