我已被告知此错误......
The instruction at 0x01234567 referenced memory at 0x00000000. The memory could not be read.
... 0x00000000
指的是NULL。
那么上述错误和...之间的区别是什么?
Object reference not set to an instance of an object
我试图更好地理解上面的错误...
答案 0 :(得分:1)
第一个,The instruction at 0x01234567 referenced memory at 0x00000000. The memory could not be read.
是操作系统(Windows)捕获的异常。您的应用程序尝试从指针设置为0读取字节,该字节受保护(非托管调用,内部函数)。
其次,Object reference not set to an instance of an object
由.NET本身捕获。
答案 1 :(得分:0)
简单来说,
“0x01234567处的指令引用了0x00000000处的内存。无法读取内存。”当内存位于某个对象上时会发生,但如果该内存不在,则会为空。
“对象引用未设置为对象的实例”在根本没有创建对象时发生,并且您正在尝试访问“未出生”对象的数据。