在Visual Basic中将字符串转换为预定义的变量名称?

时间:2011-11-09 18:28:37

标签: vb.net arrays variables

我正在编写Visual Basic中的基本老虎机,并希望使用for循环随机选择每个插槽的图像,在每个插槽中显示图像,并更改slotName变量(所以我可以稍后检查每个插槽的哪些符号在插槽中)。

我用for循环找到的问题是每个插槽的变量和对象有不同的名称(slot1Name,slot2Name,slot3Name,lblSlot1,lblSlot2,lblSlot3等)。有什么办法可以让我有类似的东西:

currentSlotName = "slot" & i & "Name"

这是目前的代码,对于3个插槽中的每一个,重复此代码(具有不同的变量和对象名称),这是非常低效的。我怎样才能整理这段代码?

' Randomise numbers and assign images to slots based on random numbers, if the hold isn't on
    ' Slot 1
    If Not held1 Then
        slot1Value = Int(Rnd() * numbersGenerated + 0.5)
        Select Case slot1Value
            Case 0 To 5
                lblSlot1.Image = imgBanana
                slot1Name = "Banana"
            Case 6 To 11
                lblSlot1.Image = imgOrange
                slot1Name = "Orange"
            Case 12 To 16
                lblSlot1.Image = imgCherries
                slot1Name = "Cherries"
            Case 17 To 19
                lblSlot1.Image = imgSeven
                slot1Name = "Seven"
            Case 20
                lblSlot1.Image = imgBatman
                slot1Name = "Batman"
            Case Else
                lblSlot1.Text = "Error. slot1value = " & slot1Value
        End Select
    End If

我一直在寻找这个,但我是Visual Basic的新手,并希望尽可能简化我的代码。

1 个答案:

答案 0 :(得分:1)

解释太多了。数组是您接下来需要学习的内容。

http://msdn.microsoft.com/en-us/library/wak0wfyt.aspx