我可以看到为什么这是允许的:
foreach (var paralelos in ParalelosSeleccionadosTemp)
{
foreach (var horario in paralelos.Horarios)
{
for (int i = 0; i < horario.DetallesHorario.Count; i++)
{
if (feriados.Contains(horario.DetallesHorario[i].Fecha.Value))
{
horario.DetallesHorario.RemoveAt(i);
i--;
}
}
}
}
但是这个怎么样?
ParalelosSeleccionadosTemp
.ForEach(p => p.Horarios.ToList()
.ForEach(q => q.DetallesHorario.ToList()
.RemoveAll(x => feriados.Contains(x.Fecha.Value))));
我不明白为什么这会失败并且不会删除任何项目。