这似乎应该得到回答,但我发现的潜在骗子在问不同的事情......
我注意到这似乎工作正常(sourceDirInclusion
很简单Dictionary<X,Y>
)
foreach (string dir in sourceDirInclusion.Keys)
{
if (sourceDirInclusion[dir] == null)
sourceDirInclusion.Remove(dir);
}
这是否意味着从集合中删除项目foreach
是安全的,或者我很幸运?
如果我向字典中添加更多元素而不是删除元素呢?
我要解决的问题是sourceDirInclusion
最初已填充,但随后每个值都可以在第二遍中将新项目贡献给字典。例如,我想做的是:
foreach (string dir in sourceDirInclusion.Keys)
{
X x = sourceDirInclusion[dir];
sourceDirInclusion.Add(X.dir,X.val);
}