簡體   English   中英

使用自定義通用集合更快地使用對象而不是列表

[英]Using Custom Generic Collection faster with objects than List

我正在迭代List<>來找到匹配的元素。 問題是對象只有2個重要值, NameLink (兩個字符串),但有一些我不想比較的其他值。

我正在考慮使用像.NET 3.5這樣的HashSet (這正是我正在尋找的 - 快速),但目標框架必須是2.0。 這里有一些名為Power Collections的東西: http//powercollections.codeplex.com/ ,我應該使用它嗎?

但也許有其他方式? 如果沒有,你能給我一個合適的定制系列嗎?

在.NET 2.0而不是HashSet<T>您可以使用Dictionary<K, V>

Dictionary使用哈希代碼執行鍵查找,因此它具有與HashSet類似的性能。 至少有兩種方法:

  • 創建一個包含Name和Link的自定義類或結構,並將其用作字典中的鍵,並將該對象作為值。
  • 將整個對象存儲為鍵,並提供僅查看Name和Link成員的自定義相等比較器,並將該值設置為null。

第二種方法與使用HashSet的方式非常相似(如果可用)。

這個怎么樣:

自定義類/集合將包含對象列表和兩個字典,一個用於名稱,一個用於鏈接。 它們都將具有一個int值,它將是對象的索引。 我認為在那種情況下我只需要檢查是否存在等於鏈接字典int的名稱字典的int值。

這是一個好方法嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM