В моем приложении я использую метод scrape(string url)
для очистки ссылок с веб-страницы. Допустим, он возвращает мне 10 URL каждый раз.Foreach внутри foreach внутри foreach
Я хотел бы очистить 10 ссылок от каждого исправленного URL.
Короче говоря:
(шаг 1) перейти на веб-страницу и царапать 10 ссылок
(этап 2) Еогеасп ссылку с шага 1 перейти на веб-страницу и царапать 10 ссылок
(шаг 3) для каждой ссылки с шага 2 перейдите на веб-страницу и соскрести 10 ссылок.
Так что это даст мне 10 + 100 + 1000 = 1110. ссылки
Конечно, я мог бы сделать что-то вроде этого:
List<string> links1 = new List<string>();
List<string> links2 = new List<string>();
List<string> links3 = new List<string>();
links1 = scrape("example.com"); //get 10 links
foreach (string link in links1)
{
List<string> temp = new List<string>();
temp = scrape(link);
links2.AddRange(temp);
} //get 100 links
foreach (string link in links2)
{
List<string> temp = new List<string>();
temp = scrape(link);
links3.AddRange(temp);
} // get 1000 links
Но это ужасно редактировать. Что, если я хотел бы очистить от царапаемых ссылок 10 раз? Я должен был бы сделать 10 foreach
петель.
Можете ли вы дать мне какие-либо советы?
Вы должны рекурсивную функцию для этого, я думаю. –