我OutOfMemoryException
早点拿到了,不知道是干什么用的。这根本没有意义。在我的代码中四处寻找,突然想起某处忘记检查 null,在这种特殊情况下,它是(并且应该是)正是这样。在我看来,这不应该导致OutOfMemoryException
,但我当然已经修复了它。当我这样做时,异常不再出现!
所以我再次删除了检查并研究了我得到的更多异常。事实证明它有一个InnerException 类型NullReferenceException
和一个堆栈跟踪,这当然更有意义。
但为什么我得到一个OutOfMemoryException
?这在我以前从未发生过……对我来说毫无意义……
很想提供更多背景信息,但如果不上传整个项目,我真的不能说太多,我不能(而且你也不想通读:p)。但它发生的具体地方是这样的:
{
foreach (var exportParameter in exportParameters)
{
// Copy to local
var ep = exportParameter;
// Load stored values from db
...
}
int i = 1;
exportParameters
.OrderBy(ø => ø.Sequence)
.ForEach(ø => { if (!ø.Locked) ø.Sequence = i++; });
}
解决方法是if(exportParameters != null)
在代码块之前放置一个。exportParameters
是 a List<ExportParameter>
,但失败的情况除外null
。