设置IDictionary的所有值

Kim*_*imi 2 .net c#

"重置"某种Dictionary<int, bool>结构的最佳方法是什么(将所有值设置为truefalse).目前我正在使用ToDictionary()扩展方法.有没有办法通过重用当前实例来做到这一点?

此代码抛出异常:

[TestFixture]
public class Sample
{
    [Test]
    public void SampleTest()
    {
        var dictionary = new Dictionary<int, bool>{{1, false}, {2, true}, {3, false}};
        foreach (var key in dictionary.Keys)
        {
            dictionary[key] = true;
        }

        Assert.That(dictionary[3], Is.True);
    }
}
Run Code Online (Sandbox Code Playgroud)

Ant*_*ram 11

foreach (int key in dictionary.Keys.ToList())
    dictionary[key] = true;
Run Code Online (Sandbox Code Playgroud)