在对某个List进行遍历的同时,需要对其中的Item进行删除操作。
会提示错误:集合已修改;可能无法执行枚举操作
Code
foreach (VirtualTDate vtDate in tempList)
{
if (vtDate.Date == itemTime.Date)
{
tempList.Remove(vtDate);
}
}
foreach (VirtualTDate vtDate in tempList)
{
if (vtDate.Date == itemTime.Date)
{
tempList.Remove(vtDate);
}
}
foreach循环中无法对List进行修改、删除操作。改用for循环可以执行:
Code
for (int i = 0; i < tempList.Count; i++)
{
if (tempList[i].Date.Equals(itemTime.Date))
{
tempList.Remove(tempList[i]);
}
}
for (int i = 0; i < tempList.Count; i++)
{
if (tempList[i].Date.Equals(itemTime.Date))
{
tempList.Remove(tempList[i]);
}
}
错误:每删除一项,游标应当减一