我正在使用Iesi.Collections.Generic.ISet,我想知道如何確定我是否可以依靠這個。我正在使用.NET框架4我可以依靠ISet.Add方法把新成員放在最後位置嗎?
回答
編輯:我以前沒有使用Iesi.Collections
(但無法找到任何文檔),但如果它的意圖是類似System.Collections.Generic.ISet<T>
,下面的答案仍然相關。我會非常感謝如果在一個設定的界面確實保證插入順序。
「一組」的概念本質上是無序的。除非你是特別是使用「插入順序」設置,你應該不是依靠它。
特別是:
HashSet<T>
可能在難以預料,具體實現的方式更改訂單。SortedSet<T>
確實保證訂單 - 但它是元素順序,而不是插入順序。所以,如果你插入1,5,3,6,2成SortedSet<int>
,然後遍歷它,你會得到1,2,3,5,6
請注意,他正在使用Iesi.Collections。 – alexn 2013-04-26 14:49:18
@alexn:啊,沒有注意到。以前從未見過耶西。 – 2013-04-26 14:49:46
他們有一個實現,['LinkedHashSet
- 1. 我可以依靠mod_rewrite嗎?
- 2. 我可以依靠MSXML4嗎?
- 3. 我可以依靠shell()的存在嗎?
- 4. 我可以依靠malloc返回NULL嗎?
- 5. 我可以依靠sizeof(uint32_t)== 4嗎?
- 6. 我可以依靠模板類型嗎?
- 7. 成員變量的新放置位置
- 8. 我可以重新定位已放置在MKMapView上的MKAnnotationView嗎?
- 9. 我如何把文件放在TFS生成放置位置
- 10. 什麼是記錄Kinect流以供以後回放的最可靠方法?
- 11. 我可以把asp.net放入css嗎?
- 12. 我可以把.git放在別的地方嗎?
- 13. 我可以依靠Cheerio以文件順序退貨嗎?
- 14. AppEngine + django:依靠兩者都可靠嗎?
- 15. 把package放在package.json中的位置?依賴或依賴
- 16. 我可以在設置PHPUnit模擬器後更改方法嗎?
- 17. 爲什麼我可以更新(公共)JavaScript方法的成員?
- 18. 我可以在SSAS中創建新的計算成員嗎?
- 19. 我可以把mod_rewrite語句放在我的apache.conf文件中嗎?
- 20. 可以依靠很多第三方軟件包嗎?
- 21. 我可以依靠iOS設備時鐘正確嗎?
- 22. 我可以依靠volumeClaimTemplates命名約定嗎?
- 23. 我可以依靠sql視圖中的字段順序嗎?
- 24. 我可以依靠ctl00_PagePlaceHolder_myId保持不變嗎?
- 25. 我可以依靠CDN永久存儲照片嗎?
- 26. 我可以依靠「共享主機上的SSL」嗎?
- 27. 我可以依靠SDL_Surface :: pitch來保持常量嗎?
- 28. 我可以依靠ETags進行緩存控制嗎
- 29. PayPal Express Checkout:我可以依靠PAYMENTREQUEST_0_ADDRESSSTATUS值嗎?
- 30. 初次握手後,我可以安全地依靠WebSocket連接嗎?
我不會依賴,除非它的行爲在函數名稱或文檔中特別聲明。否則,不能保證從一個版本到另一個版本的實現不會改變暴露代碼中所做的假設。我認爲在不改變公共接口的情況下更新實現是非常常見的。 – 2013-04-26 15:07:14