当前位置:编程学习 > C#/ASP.NET >>

奇怪的NullReference异常

Hi,
有个关于.Net Framework Exception方面的情况问题请教一下各位,
这是.Net Framework 2.0中SortedDictionary.Keys的getter方法,我得到一个用户的crash report说是这里面出现的NullReferenceException
这段代码是在多线程情况下执行的,因此可能会有多个线程同时操作Dictionary的情况,但是我总觉得即使是多线程访问结果也顶多是生成多个KeyCollection对象,不至于Null Ref啊?在此诚心请教各位高手这段代码什么情况下会出现NullReferenceException? 谢谢!

public KeyCollection<TKey, TValue> Keys
{
    get
    {
        if (this.keys == null)
        {
            this.keys = new KeyCollection<TKey, TValue>((SortedDictionary<TKey, TValue>) this);
        }
        return this.keys;
    }
}
 

 
--------------------编程问答-------------------- 多线程,就不是很好说了

猜一下,
可能是竞争问题吧
多个线程请求一个对象, 如果,无法获得对象,就返回 空引用。

查一下,这个是不是线程安装的。 --------------------编程问答-------------------- 问题是系统里有没有哪个地方会置this.keys=null?找到可能执行这个地方应该就能找到原因。

另外,能否请用户也说明一个nullReferenceException的具体对象是什么?也许根本就不是keys为null。
补充:.NET技术 ,  .NET Framework
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,