欧美特黄不卡,涩涩视频在线,成人国产精品一区二区网站,亚洲一区二区三区欧美

當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

低效的SelectSingleNode與高效的ListView數據添加

低效的SelectSingleNode與高效的ListView數據添加

更新時間:2022-05-10 文章作者:未知 信息來源:網絡 閱讀次數:

以下是Santomania帶給我們的一些提高代碼性能的建議,在他的博客網站上,你能看到不少他關于SharePoint的見解。

一、低效的SelectSingleNode

我最近一直在使用reflecting,然而我確實已經通過Lamont Harrington對此做了提示,雖然對我來說這并不是一個新聞(一般說來,在木桶中,我不會是最慢的魚^_^),但我發現它仍然值得一提。

反編譯XmlNode.SelectSingleNode方法,你將獲得如下結果(原諒我的VB.Net):

Public Overloads Function SelectSingleNode(ByVal xpath As String) As XmlNode

Begin Function

Dim list1 As XmlNodeList
Dim node1 As XmlNode
Try

list1 = Me.SelectNodes(xpath)
node1 = list1.ItemOf(0)

Catch ArgumentOutOfRangeException

node1 = Nothing

End Try
Return node1

End Function

你將會看到,SelectSingleNode僅僅是SelectNodes的包裝,這意味著它(最快)不會比SelectNode更快,并且,如果你在深入研究一點,SelectNodes反編譯后如下:

Public Overloads Function SelectNodes(ByVal xpath As String) As XmlNodeList
Begin Function

im navigator1 As XPathNavigator
navigator1 = Me.CreateNavigator
Return New XPathNodeList(navigator1.Select(xpath))

End Function

讓人感到沮喪痛苦的是:SelectNodes確實是創造了一個XPathNavigator實例!!

我想,首選的解決方案是:實例化我們自己的XPathNavigator并且在對xml文檔執行XPath查詢的時候重復使用它,特別是我們執行嵌套循環的查詢時。

二、高效的ListView數據添加

怎樣促進你的ListView的性能?不要使用在同一個的循環中去創造和添加ListViewItem的方法。更好的方法是:創造一個ListViewItem的集合,并且使用AddRange方法去添加它們。我顯示這個方法對團隊中的一個開發者,在大量目錄添加的情況下(超過1500條記錄),他的ListView的性能比原來要高效1000倍。



最后,不知你注意到了沒有,DictionaryEntry不是一個類,而是一個結構。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

主站蜘蛛池模板: 抚顺县| 舒城县| 海安县| 越西县| 鄂托克前旗| 晋江市| 蒙城县| 龙门县| 金山区| 鹿邑县| 金阳县| 太湖县| 甘德县| 东乡县| 巧家县| 天台县| 三台县| 荣成市| 赤壁市| 天峨县| 新余市| 余干县| 山东| 温宿县| 天祝| 兰考县| 永川市| 兴安盟| 淅川县| 承德市| 密山市| 施秉县| 若羌县| 大丰市| 博白县| 田阳县| 盈江县| 宾阳县| 崇左市| 木兰县| 双城市|