I have a list with some old values that I want to delete, but it throws a System.InvalidOperatonException
saying the collection was changed after creating an object. If I don't use the else
statement, it is working all right.
foreach (var item in list) // here is exception
{
if (DateTime.Parse(item.Key.ToShortDateString()) > DateTime.Parse("12.09.2020"))
{
panel.Controls.Add(new Label()
{
Text = item.Key.ToString().Remove(10) + "\n" + item.Key.ToString().Remove(0, 10) + "\n" + item.Value.ToString(),
AutoSize = true
});
month.AddBoldedDate(item.Key);
}
else
{
list.Remove(item.Key); // I want to delete an old element
}
}
How can I fix this problem?