我知道foreach
内不修改收集的基本原则,这就是为什么我做了这样的事情:异常修改集合中foreach循环时
public void UpdateCoverages(Dictionary<PlayerID, double> coverages)
{
// TODO: temp
var keys = coverages.Select(pair => pair.Key);
foreach (var key in keys)
{
coverages[key] = 0.84;
}
}
和:
class PlayerID : IEquatable<PlayerID>
{
public PlayerID(byte value)
{
Value = value;
}
public byte Value { get; private set; }
public bool Equals(PlayerID other)
{
return Value == other.Value;
}
}
首先,我救我所有的密钥都不会有Collection modified
异常,然后我通过它。但我仍然得到了我无法理解的例外。
如何更正此问题以及导致问题的原因?
什么是实际的实时序列? –
@Michał复杂...我会编辑 –