我正在编写一个多线程下载管理器,其中下载信息由我编写的一个类(称为 DownloadOperation)管理。下载保存在一个列表中(称为下载)。当类 (queryCompleted) 中的函数返回 true 但发现无法从foreach
循环内的列表中删除元素时,我需要从列表中删除对象。达到相同效果的最佳方法是什么?我对 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);
}
}
}