C#使用List出現“集合已修改;可能無法執行枚舉操作”錯誤的解決辦法
阿新 • • 發佈:2018-01-15
枚舉 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出現“集合已修改;可能無法執行枚舉操作”錯誤的解決辦法