2015-07-10 139 views
0

這是我在很多小時內的第二篇文章,不確定是否有限制我們可以發佈多少次,但我只是想知道如果你能弄清楚爲什麼這段代碼不工作?關於字符串數據類型

Dim grading As String 

    If score <= 5 Then 
     grading = "Good Job!" 
    ElseIf score <15> 5 Then 
     grading = "Better Luck Next Time" 

    End If 


    MessageBox.Show("Your Brain Age is" & score & "." & vbNewLine & vbNewLine & grading, "Brain Age") 

End Sub 

基本上發生的事情是,當我使用可變分級的消息框,它已被分配一個值之前,下面的錯誤出現

警告1個變量「分級」被使用。運行時可能會導致空引用異常。

我確定有一個快速簡單的解決方案。

我想在一個消息使用字符串,但不能讓它的工作 - 校驗碼

+1

'ElseIf score < 15 > 5 Then's not valid syntax。這是一個錯字嗎?它應該是什麼? –

回答

2

爲了解決您的主要問題,問題是,如果沒有一個滿足以下條件:

If score <= 5 Then 
    grading = "Good Job!" 
ElseIf score <15> 5 Then 
    grading = "Better Luck Next Time" 
End If 

...然後grading變量保持未分配狀態,編譯器正確地認爲你不打算這樣做。

爲了解決這個問題,無論是與一個合適的值初始化grading變量:

Dim grading As String = "default value" 

或者,添加一個else塊,以確保您始終設置東西grading嘗試使用它之前:

If score <= 5 Then 
    grading = "Good Job!" 
ElseIf score <15> 5 Then 
    grading = "Better Luck Next Time" 
Else 
    grading = "default value" 
End If 

此外,您可能要修改以下內容:

ElseIf score <15> 5 Then 

......它看起來不正確。你的意思是呢?

ElseIf score < 15 AndAlso score > 5 Then 
+0

哦謝謝你! –