2015-10-08 18 views
0

我有一個用戶輸入一個字符串變量「輸入」,然後運行一個if語句,它的工作原理是: 。如何讓兩個用戶變量的VB等於相同的答案

If input = "pick up silver" Then 

ElseIf input = "grab silver" Then 

invt(i) = worth.Silver 

不過,我有一個大陣不同的金屬,有沒有辦法凝聚雙方如果爲了保持空間的上一行,我已經試過

If input = "pick up silver" OR "grab silver" Then 
invt (i) = worth.silver 

然而,這並不因爲它嘗試將兩個IF都作爲布爾值。

整個代碼是在這裏https://mega.nz/#!fspXHQKD!naMZCAPx3c8fkYtYh9haWSryEJciLpjqwCxkXRU-dVg

道歉格式差,我可能犯任何錯誤,這是我在編碼第一次嘗試,如果我能得到幫助,這銀色的錯誤,它會幫助在整個過程中很多。

另外,如果我已經離開了任何重要的信息,請問,我是新來這個網站...

回答

0

只是圍繞翻轉:定義數組接收到的值,然後檢查是否該陣列包括您的`輸入:

Dim Metals() As String = { "pick up silver", "grab silver" } 

If Metals.Contains(input) Then 
    invt(i) = worth.Silver 
End If 

或者你也可以考慮Select聲明(稱爲其他語言的 「開關」):

Select Case Input 
    Case "pick up silver" 
    Case "grab silver" 
     ' Do something 

    Case "gold" 
    Case "rose gold" 
     ' Do something else 

    Case Else 

End Select 
0

您可以使用選擇的情況下STR ucture。

Select Case input 
    Case "pick up silver", "grab silver" 
    invt(i) = worth.Silver 
    Case "gold", "whatever gold" 
    invt(i) = worth.Gold 
    Case Else 
    Debug.WriteLine("Not recognized") 
End Select 

如果您需要一定使用if語句然後用

If input = "pick up silver" OR input = "grab silver" Then 
invt (i) = worth.silver 
End If 
相關問題