从 C# 字典中获取密钥
本文关键字:获取 密钥 字典 | 更新日期: 2023-09-27 17:56:42
有人会认为这将是一项非常简单的任务,但是当我运行此代码时,我得到了一个System.InvalidOperationException:
Dictionary<string, bool> TableExists = new Dictionary<string, bool>();
//... fill the dictionary
foreach(string value in TableExists.Keys){/*Do something*/}
它应该遍历字典TableExists
的键,但我在foreach
行得到无效操作异常。我是否错误地使用了任何字典操作?如果是这样,处理 C# 字典键的正确方法是什么?
编辑:
是的,我试图更改与字典键对应的一些值,但出现Collection was modified
错误。
某些操作在foreach
内是不允许的(强调我的):
foreach 语句用于循环访问集合以获取所需的信息,但不能用于在源集合中添加或删除项以避免不可预知的副作用。
如果您尝试在foreach
中添加或删除字典元素,您可能会得到
System.InvalidOperationException: 集合已修改;枚举操作可能无法执行。