NullReferenceException是什么意思

可能重复:
.NET中的NullReferenceException是什么?

例如,“ System.NullReferenceException未处理”,消息“对象引用未设置为对象的实例”。

这个例外的含义是什么,如何解决?

这意味着你已经尝试访问不存在的东西的成员:

 string s = null; int i = s.Length; // boom 

只需修复null的东西。 要么使其为非null,要么先执行空值测试。

这里还有一个与Nullable相关的角点 ,generics和new通用约束 – 虽然有点不太可能(但是,我遇到了这个问题!)。

这是.NET中最常见的例外…它只是意味着您尝试调用未初始化的变量(null)的成员。 您需要先初始化此变量,然后才能调用其成员

这意味着您引用的是null ,例如:

 class Test { public object SomeProp { get; set; } } new Test().SomeProp.ToString() 

SomeProp将为null并应抛出NullReferenceException 。 这通常是由于您调用的代码期望某些东西不存在。

这意味着当变量尚未初始化时,您已尝试使用对象的方法或属性:

 string temp; int len = temp.Length; // throws NullReferenceException; temp is null string temp2 = "some string"; int len2 = temp2.Length; // this works well; temp is a string 

下面的代码将向您显示exception和线索。

 string s = null; s = s.ToUpper(); 

在代码中的某处,您有一个对象引用,并且它没有设置为对象的实例:)

在某个地方你使用了一个对象而没有调用它的构造函数。

你应该做什么:

 MyClass c = new MyClass(); 

你做了什么:

 MyClass c; c.Blah();