获取空引用异常,尝试将零推入堆栈
那么我在学校的最后一天试图完成一个程序,我不能为我的生活过去这个空引用异常。 我的代码应该使用整数堆栈来计算用户输入的数字[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
。
上一篇: Getting a null reference exception trying to push a zero to a stack
下一篇: Entity Framework: nullable DateTime toString(format) in vb.net handling