1

これが私の辞書宣言です:

public IDictionary<MYType<IMyType>, IList<MYType<IMyType>>> SomeList {
    get;
    set;
}

MYType<T>はプロパティMyTypeIdと を持っていますMyTypeParentId

  1. のキーを検索したいのですMyTypeParentIdが、可能ですか?

  2. または、キーを a にせずにMyTypeParentIdasを宣言する必要がありますか?intMYType<T>

MyType<IMyType>そのインスタンスには他の有用なプロパティがあるため、キーをタイプにしたいのです。

そのインスタンスをキーとして使用できるようにすると、その中に存在するいくつかの異なるプロパティをキーオフして、MYType<T>一致させることができると思いました...

4

2 に答える 2

1

Dictionary の利点は、キーのプロパティ (複数可) ではなく、キー (任意の型)のハッシュ コードによる高速検索です。もちろん、コレクションを介して Key タイプのプロパティを検索できますが、高速Keysな検索にはなりません。

で検索したい場合MyTypeParentIdは int キーで Dictionary を作成しMyTypeParentId、キーとして使用します。

于 2013-04-03T05:56:39.087 に答える
0

そのタイプのインスタンスを検索する場合にのみ、そのタイプをキーとして使用してください。int ID に対応する値を検索する必要がある場合は、int キーを使用して辞書を作成します。

おそらく、複数の辞書を維持すると役立つでしょう (たとえば、タイプ ID をキーとするものと特許タイプ ID をキーとするもの)。

于 2013-04-03T06:07:26.767 に答える