有一个从另一个线程写入的项目列表。
项目被同步删除。我在删除部分有以下 lambda
var deleteList = this.Items.Where(d => d.Id == guid).ToList();
有时,我会得到 d 的 NullReferenceException。
我怎样才能了解更多信息?
有关上下文的更多信息
删除或添加时,我有一个简单的锁 lock(myLock) 在添加部分,我已经检查了项目是否为空(if (item != null) )
在 where 子句中有一个简单的 (d != null) 不会阻止项目首先变为 null。在我看来,该列表应该已经处于“适当的状态”。