我使用的後續代碼讀取XML文件的XML文件的最後n個元素:閱讀使用LINQ的XDocument
XDocument doc = XDocument.Load(xmlPath);
foreach (var node in doc.Descendants("LogInfo"))
{
ListViewItem item = new ListViewItem(new string[]
{
node.Element("MailBox").Value,
node.Element("LastRun").Value,
});
listViewHome.Items.Add(item);
}
我怎樣才能改變這種代碼,以接收元素剛剛過去的「n」個從那個XML文件? 在此先感謝。
+1好的技巧與反向 –
+1。我有兩個答案的唯一問題是'Count()'會遍歷一次,'Skip()。另一次採取()'。雖然LINQ很好地表達了這個問題,但它並不是最理想的答案。 –
@pswg假設你有10個項目,但想要最後3個,Reverse將遍歷全部10個,然後最後3個遍歷兩次(所以這是'Count + 2 * Take')。如果你跳過(Count() - Take)',你可以遍歷10個Count和另外10個(Skip的'7','Take'的3個)。我認爲Reverse可能更有效,但由於它全部在內存中,所以差別不會很明顯。 –