これは答えられるべきだと思われますが、私が見つけた潜在的な重複は別のことを求めていました...
私はこれがうまくいくように見えることに気づきました(sourceDirInclusion
単純ですDictionary<X,Y>
)
foreach (string dir in sourceDirInclusion.Keys)
{
if (sourceDirInclusion[dir] == null)
sourceDirInclusion.Remove(dir);
}
それは、コレクションからアイテムを削除するのforeach
が安全であることを意味しますか、それとも私が幸運に恵まれたことを意味しますか?
削除するのではなく、辞書に要素を追加した場合はどうなりますか?
私が解決しようとしている問題は、sourceDirInclusion
最初にデータが入力されることですが、その後、各値が2回目のパスで辞書に新しいアイテムを提供する可能性があります。たとえば、私がやりたいことは次のようなものです。
foreach (string dir in sourceDirInclusion.Keys)
{
X x = sourceDirInclusion[dir];
sourceDirInclusion.Add(X.dir,X.val);
}