今天在使用foreach循環遍歷list集合時,出現Collection was modified; enumeration operation may not execute.這個錯誤,查了半天才發現是當想要修改list集合時,不能使用foreach,由於foreach是取只讀的,在取的時候數據不能變(包括修改,刪除,添加等),因此要寫for循環。spa
在for循環裏面,刪除操做結束,必定要 i-- 操做。否則會漏掉部分元素。orm
forio
(int i = 0; i < result.Count;i++ )for循環
{class
DateTime tTGL = Convert.ToDateTime(result[i].TTGL, dtFormat);date
if (DateTime.Compare(date_From, tTGL) > 0 || DateTime.Compare(date_To, tTGL) < 0)foreach
{循環
result.Remove(result[i]);遍歷
i--;im
}
}