1. 程式人生 > >C#使用List出現“集合已修改;可能無法執行枚舉操作”錯誤的解決辦法

C#使用List出現“集合已修改;可能無法執行枚舉操作”錯誤的解決辦法

枚舉 array 操作 each 使用 list 行修改 例如 解決

原因:

在循環的時候,當集合被刪除了一個item後,那麽總數 count和索引就會發生改變.所以會報錯

解決方法:

不要在List上執行枚舉集合的操作(例如foreach)中去執行修改集合的操作。如果需要修改集合,先使用 ToArray() 方法轉化成Array,例如

foreach(string s in rs.ToArray())
 {
        if(s.IndexOf(t)<0)
        {
             rs.Remove(t);
        }
 }

C#使用List出現“集合已修改;可能無法執行枚舉操作”錯誤的解決辦法