foreach (KeyValuePair<uint, Character> kvp in World.AllChars)
{
Character Charr = kvp.Value;
Charr.Do(); <-- NullrefException: Charr is null
}
带支票的代码:
foreach (KeyValuePair<uint, Character> kvp in World.AllChars)
{
Character Charr = kvp.Value;
if(Charr != null)
{
Charr.Do(); <-- NullrefException: Charr is null
}
}
编辑:
Do() 中的任何内容都不会导致它为空,因为它甚至无法执行 Do(),因为 Charr 为空。
这就是我的循环的样子。我已经尝试过进行 if != null 检查,但它仍然超出了检查范围并引发了 nullref 异常。
我怎样才能防止这种情况?我使用并发字典和高度多线程的服务器架构。