Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops VB 2010快车-猜谜游戏例外:“;“未处理NullReferenceException”;_Loops_Nullreferenceexception - Fatal编程技术网

Loops VB 2010快车-猜谜游戏例外:“;“未处理NullReferenceException”;

Loops VB 2010快车-猜谜游戏例外:“;“未处理NullReferenceException”;,loops,nullreferenceexception,Loops,Nullreferenceexception,在编写猜谜游戏时,我遇到了一个似乎无法解决的大问题。我在线路上遇到异常错误: MessageLabel.Text = Message.ToString 代码如下: Option Strict On Public Class ABabyGuess Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim

在编写猜谜游戏时,我遇到了一个似乎无法解决的大问题。我在线路上遇到异常错误:

MessageLabel.Text = Message.ToString
代码如下:

Option Strict On

Public Class ABabyGuess

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim randomGenerator As New Random
        Dim secretNumber As Integer
        Const NUMBER_MIN As Integer = 1
        Const NUMBER_MAX As Integer = 200
        Dim guessNumber As Integer
        Dim Won As Boolean = False
        Dim Message As String = ""
        Dim MAX_TRIES As Integer = 500
        Dim CurrentTrys As Integer
        secretNumber = randomGenerator.Next(NUMBER_MIN, NUMBER_MAX)
        Try
            Do While CurrentTrys <= MAX_TRIES And Not Won
                CurrentTrys = CurrentTrys + 1
                ABaby.ATryTableLabel.Text = ""
                guessNumber = Integer.Parse(GuessTextBox.Text)
                If guessNumber > secretNumber Then
                    Message = Message & guessNumber.ToString & "Too Big" & Environment.NewLine
                ElseIf guessNumber < secretNumber Then
                    Message = Message & guessNumber.ToString & "Too Small" & Environment.NewLine
                ElseIf guessNumber = secretNumber Then
                    Won = True
                End If
            Loop
        Catch ex As Exception
            If guessNumber > 100 Then
                MessageBox.Show("Please inut a number below 100.")
            ElseIf guessNumber = 0 Then
                MessageBox.Show("Please input a number above 0")
            End If
        End Try
            If Message.ToString IsNot Nothing Then
                ABaby.ATryLabel.Text = Message.ToString
            End If
        If Won = True Then
            MessageBox.Show("congratulations! You Won!", "congratulations", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
        ElseIf Won = False And CurrentTrys = 7 Then
            MessageBox.Show("...You actually lost. I give up...", "...", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
        End If
    End Sub
End Class
选项严格打开
公共类ABabyGuess
私有子按钮1\u单击(ByVal sender作为System.Object,ByVal e作为System.EventArgs)处理按钮1。单击
Dim随机发生器作为一种新的随机发生器
Dim secretNumber为整数
常量数\u MIN为整数=1
常量编号\u最大为整数=200
将数字设置为整数
Dim Won作为布尔值=False
将消息设置为字符串=“”
Dim MAX_尝试为整数=500
Dim CurrentTrys为整数
secretNumber=randomGenerator.Next(最小数量,最大数量)
尝试
当CurrentTrys secretNumber时执行
Message=Message&guessNumber.ToString&“太大”&Environment.NewLine
ElseIf guessNumber100,则
MessageBox.Show(“请输入100以下的数字”)
ElseIf guessNumber=0,则
MessageBox.Show(“请输入0以上的数字”)
如果结束
结束尝试
如果Message.ToString不是空的,那么
ABaby.ATryLabel.Text=Message.ToString
如果结束
如果赢=真,那么
Show(“恭喜!你赢了!”,“恭喜”,MessageBoxButtons.OK,MessageBoxIcon.叹号)
ElseIf-Won=False,CurrentTrys=7,则
MessageBox.Show(“…你真的输了。我放弃…”,“…”,MessageBoxButtons.OK,MessageBoxIcon.叹号)
如果结束
端接头
末级

错误为
NullReferenceException未处理
,详细信息为:
{“对象变量或未设置块变量”。}
我在internet上找不到任何地方可以解决此问题。如果你想知道我为什么叫表单ABaby,这是我的多难度项目中最简单的难度级别。

这是因为你要么没有初始化MessageLabel,要么没有初始化Message,要么没有初始化Message


在调用或访问它们的方法/属性之前,请检查代码是否正确初始化。

欢迎使用堆栈溢出!几乎所有
NullReferenceException
的情况都是相同的。有关提示,请参阅“”。