关于字符串数据类型

时间:2015-07-10 13:22:30

标签: vb.net string variables

这是我在很长时间内的第二篇文章,不确定我们发布的次数是否有限制,但我只是想知道你是否能弄清楚为什么这段代码无效?

 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在为赋值之前使用变量'grading'。在运行时可能会导致空引用异常。

我确信有一个快速简便的解决方案。

我想在消息框中使用字符串但无法使其工作 - 检查代码

1 个答案:

答案 0 :(得分: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