1
14
您可以先将密钥集合读入另一个IEnumerable实例,然后在该列表上进行foreach
|
2
5
在概念上,我会:
|
3
3
如果使用字典而不是哈希表,以便知道键的类型,那么创建键集合副本以避免此异常的最简单方法是:
为什么会出现一个异常,告诉您您已经修改了正在迭代的集合,而实际上您还没有修改?
这种方法还有另一个更微妙的设计缺陷。该版本是一个Int32。UpdateVersion方法不进行边界检查。因此,如果您对哈希表进行了正确数量的修改(2次),这是可能的
|
4
2
最简单的方法是将密钥复制到单独的集合中,然后迭代该集合。 您正在使用.NET3.5吗?如果是这样,LINQ会让事情变得简单一点。 |
5
2
ToArray()
|
6
1
在对集合进行枚举时,不能更改集合中存储的项集,因为在大多数情况下,这使得迭代器的工作非常困难。考虑集合表示平衡树的情况,并且可以在插入之后进行旋转。列举者没有任何合理的方法来记录它所看到的一切。
在此处更新值对枚举数没有影响。 |
7
0
这是我在字典里做的;将dict中的每个值重置为false:
|
8
0
另一个选项是创建一个新的哈希表。迭代第一个,同时向第二个添加项目,然后用新项目替换原始项目。
|
9
0
|
10
0
|
11
-1
|
12
-4
也许你可以使用Hashtable.Keys集合?在更改哈希表时,可能会枚举该值。但这只是一个猜测。。。 |
Robert King · Unity C#语法问题-转换位置 1 年前 |
JBryanB · 如何从基本抽象类访问类属性 1 年前 |
law · 检查答案按钮的输入字符串格式不正确 2 年前 |
i_sniff_ket · 在unity之外使用unity类 2 年前 |