可能是重复问题:
什么是 .NET 中的 NullReferenceException?
例如,"System.NullReferenceException
未经处理,错误信息为“对象引用未设置为对象的实例”。
这个异常的含义是什么,如何解决?
可能是重复问题:
什么是 .NET 中的 NullReferenceException?
例如,"System.NullReferenceException
未经处理,错误信息为“对象引用未设置为对象的实例”。
这个异常的含义是什么,如何解决?
string s = null;
int i = s.Length; // boom
只需修复空值问题。要么使其非空,要么先进行空值测试。
这里还涉及到边角情况,与Nullable<T>
、泛型和new
泛型约束有关 - 尽管可能性很小(但我遇到了这个问题!)。
这是.NET中最常见的异常...它意味着你试图调用一个未初始化(null)的变量的成员。在调用其成员之前,您需要初始化此变量。
null
。class Test
{
public object SomeProp
{
get;
set;
}
}
new Test().SomeProp.ToString()
SomeProp
将为null,并且应该抛出NullReferenceException
。这通常是由于您调用的代码期望有某些东西存在,但实际上不存在。
o
是一个局部变量,这段代码将无法编译。未赋值的局部变量不是null
。 - CodesInChaosstring 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
string s = null;
s = s.ToUpper();
在你的代码中,你有一个对象引用,但它没有设置为对象的实例 :)
你在某个地方使用了一个对象,但没有调用它的构造函数。
你应该做什么:
MyClass c = new MyClass();
你做了什么:
MyClass c;
c.Blah();
Random r = null;
r.Next();
- Matt Jacobsen