C# 列表给出另一个列表,列表中的每个项目给出另一个列表,需要在excel中记录

C# 列表给出另一个列表,列表中的每个项目给出另一个列表,需要在excel中记录,c#,excel,list,html-agility-pack,C#,Excel,List,Html Agility Pack,我有一个迭代列表的问题,列表和列表是嵌套的,这意味着每个列表单元格都包含另一个列表: 问题是: 我的excel文件包含页面路径,我需要在下面添加更多单元格 这些细胞: **admin/myPage.asp** *add--> admin/myPage1.asp add--> admin/myPage2.asp add--> admin/myPage3.asp* **admin/Dir/myPage.asp** *add--> admin/Dir/myPage1.as

我有一个迭代列表的问题,列表和列表是嵌套的,这意味着每个列表单元格都包含另一个列表:

问题是:

我的excel文件包含页面路径,我需要在下面添加更多单元格 这些细胞:

**admin/myPage.asp**

*add--> admin/myPage1.asp
add--> admin/myPage2.asp
add--> admin/myPage3.asp*

**admin/Dir/myPage.asp**

*add--> admin/Dir/myPage1.asp
add--> admin/Dir/myPage2.asp
add--> admin/Dir/myPage3.asp*
我搜索了这个页面:admin/myPage.asp,使用了htmlAgilityPack,找到了所有链接, 页面,在此页面上重定向

pages found:
 *admin/myPage1.asp
 admin/myPage2.asp
 admin/myPage3.asp*
需要在excel中的此页面下记录它们

然后,还需要搜索这些页面以获取更多链接:

pages found:
*admin/myPage1.asp
 admin/myPage2.asp
 admin/myPage3.asp*
如果找到更多的链接,请注意它们

然后搜索那些页面

直到找不到更多的页面

我被困在这里:

在嵌套列表中,如何迭代每个列表和 然后找到新列表,然后迭代这个新列表, 然后找到其他列表,然后迭代该列表

然后返回到以前的列表,其中有待定项

如何在c中实现它#


背景: 我有一个路径列表,如“admin/start.asp”,在excel中有数百个路径 像这样,我把它们放在列表中,然后在每个路径上循环,每个路径 有一个页面,在每一个页面上,我必须使用HtmlAgilityPack提取所有路径, 然后搜索此页面中的路径并从这些页面中获取更多路径, 在这些页面中找不到更多路径之前,我必须继续搜索,但我必须这样做 将它们也记录在excel中。任何人都有这样的想法:


谢谢

您可以尝试以下方法:

var allListItems = new List(firstList);
for (int listItemIndex = 0; listItemIndex < allListItems.Count; listItemIndex++)
{
    allListItems.AddRange(allListItems[listItemIndex].Items);
}
foreach (var listItem in allListItems)
{
    //do something
}
var allListItems=新列表(firstList);
对于(int-listItemIndex=0;listItemIndex
firstList
作为开始列表。
这将基本上通过将所有嵌套列表添加到
allListItems
并迭代来执行广度搜索。这是因为每次迭代都会重新计算
allListItems.Count

之后,您可以遍历所有项目并执行任何您想要的操作