在下面的代碼中,我得到一個XmlNodeList
作爲返回值從XmlDocument.SelectNodes()
我應該處理的XmlNodeList
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
}
}
看看這個:http://stackoverflow.com/questions/14398798/why-is-xmlnodelist-disposable – Chris
@Chris:我看到了。雖然@AgentFire指出我應該調用Dispose()還是不全面,但我沒有向我清楚,我明顯應該這麼做。它確實使'SelectNodes()'不太吸引人。 –
我同意 - 不得不處置它並不好玩。就我個人而言,我想我會忘記我曾經閱讀過這些,並繼續像以前一樣不加處理...... – Chris