私はOutOfMemoryException以前に取得しましたが、それが何のためにあるのかわかりませんでした。まったく意味がありませんでした。私のコードを掘り下げて、どこかが null をチェックするのを忘れていたことを突然思い出しました。私の意見では、それは原因ではありませんが、OutOfMemoryExceptionもちろん修正しました。そして、私がやったとき、例外はもう現れませんでした!
そこで、もう一度チェックを外して、さらに例外を調べました。そして、タイプの InnerExceptionNullReferenceExceptionとスタック トレースがあったことがわかりました。
しかし、なぜ私は得たのOutOfMemoryExceptionですか?こんなことは今までになかった...私には意味がありません...
もう少しコンテキストを提供したいのですが、プロジェクト全体をアップロードする必要がなければ、実際には多くを語ることはできません。しかし、それが起こった特定の場所は次のようになります。
{
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でList<ExportParameter>あった失敗した場合を除いて、nullです。