InvalidOperationException: out of sync
在unity开发中出现这个bug。

在网上查了下是在迭代器中直接修改引起的。c#是不允许你在迭代器中直接修改。

改了一下确实解决。

原本是这样

public void Run()  
{  
    foreach (var item in timerDict)  
    {  
        if (null != item.Value)  
        {  
            item.Value.Run();  
        }  
    }  
}  

改成这样:

public void Run()  
{  
    //使用迭代器时不能直接在里面修改值,获得引用在做操作  
    tempTimerList.Clear();  
    foreach (CTimerItem item in timerDict.Values)  
    {  
        if (null != item)  
        {  
            tempTimerList.Add(item);  

        }  
    }  

    for(int i =0;i