我有一些在字典上工作的代码,并使用简单的linq函数在字典中找到一些键值,但是最近我得到了以下错误.
InvalidOperationException: Operation is not valid due to the current state of the object
System.Linq.Enumerable.Iterate[KeyValuePair`2,Int32] (IEnumerable`1 source, Int32 initValue, System.Func`3 selector)如何确认操作是否安全,从而避免此错误?
导致问题的代码样本..。
public void UpdateBounds()
{
lock (Voxels)
{
Start = new IntVector3(Voxels.Min(v => v.Key.X), Voxels.Min(v => v.Key.Y), Voxels.Min(v => v.Key.Z));
End = new IntVector3(Voxels.Max(v => v.Key.X), Voxels.Max(v => v.Key.Y), Voxels.Max(v => v.Key.Z));
}
}发布于 2014-10-27 19:02:48
看起来你在对一个空字典对象做操作。
在执行该语句之前检查它是否包含任何内容。Dictionary.Count是你的人。
https://stackoverflow.com/questions/26594618
复制相似问题