获取空引用异常,尝试将零推入堆栈

那么我在学校的最后一天试图完成一个程序,我不能为我的生活过去这个空引用异常。 我的代码应该使用整数堆栈来计算用户输入的数字[count]。 它抛出了一个空引用异常,因为它试图获得空的堆栈的计数,所以我添加了一行来推零。 该程序现在停在那条具有相同错误的行(nullreferenceexception)。 如果我改变栈接受字符串,它工作正常,但我需要它接受整数。 感谢任何人可以帮助:)

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关键字):

Dim stack As New Stack(Of Integer)

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

链接地址: http://www.djcxy.com/p/42829.html

上一篇: Getting a null reference exception trying to push a zero to a stack

下一篇: Entity Framework: nullable DateTime toString(format) in vb.net handling