で作業するときに例外を取得:私が達成しようとしている何私は下に次のようなコード書かれているリストと並列ループ
// itm - list whos data comes from DB
// filteredList => whos data comes from an external source
:
Parallel.ForEach(filteredList, (f) =>
{
var conditionMatchCount = itm.AsParallel().Max(i =>
// One point if ID matches
((i.ItemID == f.ItemID) ? 1 : 0) +
// One point if ID and QuantitySold match
((i.ItemID == f.ItemID && i.QuantitySold == f.QuantitySold) ? 1 : 0)
);
// Item is missing
if (conditionMatchCount == 0)
{
ListToUpdate.Add(f);
missingList.Add(f);
}
// Item quantity is different
else if (conditionMatchCount == 1)
{
ListToUpdate.Add(f);
}
});
を、私は基本的に2つのリストを持っています上記のコードは、2つのリストを比較することです
フィルタリングされたリスト(新しいもの)からのアイテムが "itm"リストに存在しないことを確認してください...
彼らは「ITM」リストに存在しない場合、それらは
missingList.Add(f);
に追加されます。また、「ITM」リストの1つとは異なる別のQuantitySoldプロパティを持っているすべての項目は、私がListToUpdateに同様にそれらを追加します。
私はここで取得していますエラーは次の行にある:
else if (conditionMatchCount == 1)
{
ListToUpdate.Add(f);
}
そして、それは言う:
先配列は、十分な長さではなかったです。 destIndexと長さと配列の下限を確認してください
私はここで間違っていますか?
P.S.皆さん、ListToUpdateとMissing listは単純なリストですが、ここで問題が発生していますか?
[宛先の配列が長すぎますか?](http://stackoverflow.com/questions/10362023/destination-array-not-long-enough) – Equalsk