2015-07-10 96 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

哦谢谢你! –