Я пытаюсь использовать foreach l oop для изменения значений в объектах в этом списке. Однако мне нужен один список, который не меняется, чтобы его перечислить, и основной список, который нужно изменить, когда я это сделаю. Независимо от того, что я пытаюсь, я сталкиваюсь с ошибкой, потому что он меняет объект в списке, который я перечисляю.
public static void GetHtml(Site website)
{
IEnumerable<Page> pages = new List<Page>();
pages = website.PageList.Where(c => !c.Checked);
WebClient client = new WebClient();
foreach (Page page in pages)
{
try
{
page.Html = client.DownloadString(page.PageUrl);
ParseHtml(page);
ParseLinks(page, website);
page.Valid = true;
page.Checked = true;
}
catch
{
page.Valid = false;
page.Checked = true;
}
}
}
Объект сайта содержит список, в котором я хочу изменить значения объектов страницы , но мне не нужно изменять список страниц, которые я перечисляю. Я думал, что создание нового списка сработает, но, очевидно, нет.