我有这个代码:
private void ToLocalSiteOnlyToolStripMenuItem_Click(object sender, EventArgs e)
{
if (buttonSwitch == true)
{
ToLocalSiteOnlyToolStripMenuItem.ForeColor = Color.Red;
buttonSwitch = false;
removeExt = true;
}
else
{
ToLocalSiteOnlyToolStripMenuItem.ForeColor = Color.Black;
buttonSwitch = true;
removeExt = false;
}
}
private void removeExternals(List<string> externals)
{
for (int i = 0; i < externals.Count; i++)
{
if (!externals[i].StartsWith(mainUrl))
{
externals.RemoveAt(i);
}
}
}
当我点击菜单和它的红色然后我在这里调用函数 removeExternals :
private List<string> test(string url, int levels,DoWorkEventArgs eve)
{
HtmlWeb hw = new HtmlWeb();
List<string> webSites;
try
{
doc = hw.Load(url);
webSites = getLinks(doc);
removeDupes(webSites);
if (removeExt == true)
{
removeExternals(webSites);
}
现在网站列表包含网站的链接,例如:
www.ynet.co.il
www.hot.co.il
www.walla.co.il
现在变量 mainUrl 是http://www.ynet.co.il 我希望每个 iertion 即时调用测试函数,然后网站每次都有不同的链接列表以删除所有不以http://www开头的链接.ynet.co.il
所以最后每次我都会在网站上出现仅以以下链接开头的链接:http ://www.ynet.co.il
但似乎我的 removeExternals 函数并没有像我想要的那样运行良好。
问题出在哪里以及如何修复?谢谢。