我有procedure我要根据特定条件从字典中删除值(将键值与另一个字典进行比较)

但是,在foreach loop中,我不允许修改字典。

也许有更好的方法吗?

键值为字符串,

foreach (var archive in dictArchivedTitles)
{
       foreach (var kvp in dictAllTheFiles)
       {
           if (kvp.Key == archive.Key)
           {
               dictAllTheFiles.Remove(kvp.Key);
           }
       }
  }

最佳答案

您可以执行以下操作。

foreach (var archive in dictArchivedTitles)
{
    if(dictAllTheFiles.ContainsKey(archive.Key)
        dictAllTheFiles.Remove(archive.Key);
}

关于c# - 使用循环从字典中删除值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16398514/

10-13 22:07