关于vb.net:Getting一个空引用异常试图将零推送到堆栈

Getting a null reference exception trying to push a zero to a stack

好吧,我在学校的最后一天试图完成一个程序,我不能在我的一生中通过这个空引用异常。我的代码应该使用一堆整数来平均用户输入的[count]个数字。它引发了一个空引用异常,因为它试图获取空堆栈的计数,所以我添加了一行以向其推零。程序现在以相同的错误(nullreferenceexception)停止在该行。如果我将堆栈更改为接受字符串,它可以正常工作,但我需要它接受整数。感谢任何能帮忙的人:)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Module Module1

    Sub Main()
        Dim count As Integer = 16
        Dim stack As New Stack(Of Integer)
        stack.Push(0)
        Console.WriteLine("Please enter" & count &" numbers")
        Do While stack.Count - 1 = count
            stack.Push(Console.ReadLine)
            If Not IsNumeric(stack.Peek) Then
                Console.WriteLine(stack.Pop &" is not a number please try again.")
            End If
        Loop
    End Sub

End Module


您声明了一个名为stack的变量,但实际上并没有创建stack对象。改为这样做(使用New关键字):

1
Dim stack As New Stack(Of Integer)

如果没有New,变量将包含一个空引用,这就是为什么每当您试图对该变量执行任何操作时,都会获取NullReferenceException