次のコードでは、XmlNodeList戻り値として取得しますXmlDocument.SelectNodes()
foreach (XmlNode node in doc.SelectNodes(xPath))
{
// Do stuff
}
結局のところ、XmlNodeList実装しIDisposableます。つまり、戻り値を反復処理するたびに、XmlDocument.SelectNodes()それをローカル変数に入れて、確実に破棄する (つまり、usingブロックに入れる) 必要があるということですか?
このような:
using(XmlNodeList nodes = doc.SelectNodes(xPath))
{
foreach (XmlNode node in nodes)
{
// Do stuff
}
}