相关疑难解决方法(0)

"对象引用未设置为对象的实例"是什么意思?

我收到此错误,我不确定这是什么意思?

你调用的对象是空的.

.net nullreferenceexception

182
推荐指数
5
解决办法
127万
查看次数

为什么.NET中最低地址空间(非空)的内存访问报告为NullReferenceException?

这导致AccessViolationException抛出:

using System;

namespace TestApplication
{
    internal static class Program
    {
        private static unsafe void Main()
        {
            ulong* addr = (ulong*)Int64.MaxValue;
            ulong val = *addr;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这会导致NullReferenceException抛出:

using System;

namespace TestApplication
{
    internal static class Program
    {
        private static unsafe void Main()
        {
            ulong* addr = (ulong*)0x000000000000FF;
            ulong val = *addr;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

它们都是无效指针,都违反了内存访问规则.为什么NullReferenceException?

.net c# clr

30
推荐指数
2
解决办法
1373
查看次数

"对象引用未设置为对象的实例":为什么.NET不能显示更多详细信息?

" 对象引用未设置为对象的实例 "

为什么异常不会显示对象引用字段的名称,或者至少显示其类型?

这可能是.NET中最常见的运行时错误之一.尽管System.Exception具有堆栈跟踪,但没有其他有用的详细信息.

在一年的过程中,我花了几个小时筛选堆栈跟踪(通常在我没写的代码中),希望有一个来自".pdb"文件的行号,然后在代码中查找行,即使这样,它也是通常不明显该线上的哪个引用为null.拥有参考字段的名称将非常方便.

如果System.ArgumentNullException实例可以显示方法参数的名称(" Value不能为null.参数名称:value "),那么System.NullReferenceException实例肯定可以包含null字段的名称(或其包含的集合).

.net c# vb.net

15
推荐指数
2
解决办法
5744
查看次数

标签 统计

.net ×3

c# ×2

clr ×1

nullreferenceexception ×1

vb.net ×1