有沒有辦法從NameValueCollection中取出與某個模式/命名約定相關的密鑰,而無需遍歷集合中的每個值?有效搜索NameValueCollection
3
A
回答
6
名稱值集合的設計並非如此特別有效。無論使用什麼方法,都必須通過所有項目。你可以使用LINQ;是這樣的:
col.Keys.OfType<string>().Where(s => s.StartsWith("SomeString"))
2
你也許能夠做的正則表達式和LINQ神奇的組合,但在這一切的底部,則需要每個值迭代進行檢查。如果你使用linq,你將不需要編寫迭代,但是在後面他們仍然會完成。
如果您確實需要加快速度,那麼您需要查看所使用的模式/命名約定,然後創建可搜索的數據結構以適應這些需求。
0
兩條評論:
1)您的問題太含糊。有各種各樣的數據結構,如後綴和前綴嘗試,紅黑樹上的變體等,這些都支持高效搜索。對你的問題有用的答案取決於你正在尋找的模式/命名慣例的種類。發佈一些示例輸入和預期輸出。
2)除非你真的需要它,否則沒有必要實現複雜的數據結構。你應該問自己的第一個問題是你是否真的需要效率:對於包含50000個項目的集合,我真的懷疑你會發現內存,CPU或性能的顯着差異,用一個奇特的數據結構搜索你的密鑰,而不是直截了當線性搜索。
相關問題
- 1. 在Request.Form中搜索控件/分析NameValueCollection
- 2. 是yql Bing搜索還是BOSS搜索v2仍然有效?
- 3. NameValueCollection鍵沒有值
- 4. 有效的多搜索算法
- 5. 建設有效的MySQL AJAX搜索
- 6. OrientDB頂點關係有效的搜索
- 7. 對小文本的有效搜索
- 8. 通過JSON文件搜索有效
- 9. Backbone Collection:迭代和搜索有效
- 10. 不在有效目錄中搜索
- 11. Django的:有效的數據庫搜索
- 12. 是否有比二分搜索中點更有效的搜索因子?
- 13. Deezer高級搜索無效
- 14. 在jQuery中高效搜索
- 15. 高效搜索二元組
- 16. C++,搜索APT_String和效率
- 17. BinarySearchTree搜索速度效率
- 18. 高效過濾/搜索
- 19. 高效的MySQL搜索
- 20. 添加特定的搜索錯誤到表時,有一個無效的搜索
- 21. 全文搜索使用java提供高效搜索
- 22. 什麼是更高效?模糊搜索或範圍搜索?
- 23. 搜索功能沒有真正搜索
- 24. showMessageDialog彈出即使有有效的搜索 - Java的
- 25. ASP.Net和NameValueCollection中
- 26. KeyValuePair與NameValueCollection
- 27. 從NameValueCollection中
- 28. PHP - 效率,同時搜索迴文
- 29. 使我的字典搜索更高效
- 30. A *搜索的最優效率證明
我在詢問NameValueCollection,因爲我正在專門處理NameValueCollection的ASP.NET Request.Form。 就點2)好點! – AJM 2009-08-07 22:40:05