我有一些代码,当它执行时,它抛出一个NullReferenceException,说:
你调用的对象是空的.
这是什么意思,我该怎么做才能解决这个错误?
我有这个功能:
static Dictionary<int, int> KeyValueDictionary = new Dictionary<int, int>();
static void IncreaseValue(int keyId, int adjustment)
{
if (!KeyValueDictionary.ContainsKey(keyId))
{
KeyValueDictionary.Add(keyId, 0);
}
KeyValueDictionary[keyId] += adjustment;
}
Run Code Online (Sandbox Code Playgroud)
我原本认为这不是线程安全的.但是,到目前为止,在测试它时,我没有看到同时从多个线程调用它时的任何异常.
我的问题:它是线程安全还是我到目前为止幸运?如果它是线程安全的那么为什么?