Я тестирую 2 цикла с одинаковыми значениями и кодом:
1) Для цикла:
for (int i = 0; i < MyGlobals.check1Count; i++)
{
addToMyGlobals(root2.SelectNodes(strXPath)[i].OuterHtml.Trim(), XPathArrayIndex);
}
2) цикл по каждому элементу:
foreach (HtmlNode link1 in root2.SelectNodes(strXPath))
{
addToMyGlobals(link1.OuterHtml.Trim(), XPathArrayIndex);
}
В результате «цикл по каждому элементу» в 5-6 раз быстрее, чем «по циклу». Почему это то, что происходит, может ли кто-нибудь объяснить это?