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();