私が作成したクラス (DownloadOperation と呼ばれる) によってダウンロード情報が管理されるマルチスレッドのダウンロード マネージャーを作成しています。ダウンロードはリストに保持されます (ダウンロードと呼ばれます)。foreach
クラス (queryCompleted) の関数が true を返したときに、リストからオブジェクトを削除する必要がありますが、ループ内からリストから要素を削除できないことがわかりました。同じ効果を得るための最良の方法は何ですか?私はC#に比較的慣れていないので、私の愚かさを許してください。
private void removeInactiveDownloads()
{
foreach (DownloadOperation dl in download)
{
if (dl.queryComplete() == true)
{
// if download is no longer in progress it is removed from the list.
download.Remove(dl);
}
}
}