次の 2 つのループは、本質的に同じことを行っているにもかかわらず、異なる出力を返します。
XPathNavigator nav = xmlDoc.CreateNavigator();
foreach (object v in (XPathNodeIterator)nav.Evaluate(@"//*[heads!=1]/name"))
{
Console.Out.WriteLine(v);
}
for (int i = 1; i <= 3; i++)
{
Console.Out.Write(i);
Console.Out.WriteLine(nav.Evaluate(string.Format("string(//*[heads!=1][{0}]/name)", i)));
}
出力:
Zaphod
Frankie and Benji
Eddie
1Zaphod
2Frankie and Benji
3
「Eddie」が for ループの最後にないのはなぜですか?