そのコレクションからアイテムを検索するための最高のパフォーマンスを実現するソリューションを設計する必要があります。
問題は次のとおりです:私はタイプを持っています:
class MyType {
public int Id { get; set; }
public int Sequence{ get; set; }
public string Name { get; set; }
public Enum MyEnum { get; set; }
//.....
}
オブジェクトのコレクションがあります: Collection<MyType>
.
IdCollection<MyType>
などの特定のメンバーでこれを検索したい。
分析した結果、 aDictionary<TKey, TValue>
または aを使用することにしましたHashSet<T>
。今、疑問があります。MyTypeの特定のメンバーで要素を検索しようとしたときに、アクセス時間に関して (時間に関して) 最良の結果が得られるコレクションは次のとおりです。
- キーが MyType のIdメンバーであり、 MyType がオブジェクト全体
Dictionary<int, MyType>
である場所を使用するには、 - a を使用し、
HashSet<MyType>
item.Id で検索するには ...
項目メンバーを SQL の Index のように見なす必要がある HashSet に設定することは可能ですか?