我用相同的值和代码测试了两个循环: 1) For循环:
for (int i = 0; i < MyGlobals.check1Count; i++)
{
addToMyGlobals(root2.SelectNodes(strXPath)[i].OuterHtml.Trim(), XPathArrayIndex);
}2) Foreach循环:
foreach (HtmlNode link1 in root2.SelectNodes(strXPath))
{
addToMyGlobals(link1.OuterHtml.Trim(), XPathArrayIndex);
}结果是'Foreach循环‘比'For循环’快5-6倍。为什么会这样,发生了什么,有人能给出解释吗?
发布于 2011-05-19 02:39:41
在for循环中,您将在循环的每次迭代中执行开销很大的SelectNodes()方法。foreach循环只执行一次此操作。
https://stackoverflow.com/questions/6049305
复制相似问题