如何在数组中设置值

时间:2013-10-23 03:33:41

标签: arrays vb.net

我以为我理解循环和数组是如何工作的,但出于某种原因,当我尝试一起使用它们时,我没有达到我的预期。基本上我想创建一个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

2 个答案:

答案 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