2

キーが ID で値が T 型のコレクションであるキー/値の状況で、コレクション オブジェクト (例のリスト) を保持する最良の方法は何ですか?

これが唯一のオプションですか、それとも .NET 3.5 でこれに対するより良い解決策/別のコレクションがありますか?

var x = new Dictionary<int, List<type>>();
4

6 に答える 6

3

これは良い解決策であり、非常にうまく機能します。{キー = int、値 = 4 バイト参照} の辞書オブジェクトを効果的に使用しています。

キーで値を取得するとList<T>、ヒープ上の への参照が返され、それを使用できるようになります。これは、明らかな問題に対する非常に効率的でコンパクトなソリューションになります。

于 2009-01-06T13:59:35.783 に答える
0

各キーが複数の値を持つことができる多値ディクショナリ、つまりキー付きコレクションを探していますか? PowerCollectionsには、このような MultiDictionary があります。

于 2009-01-06T14:31:31.820 に答える
0

これがあなたが必要とするものかどうかはわかりませんが、チョップしておきましょう。

public Dictionary<int,List<T>> myFunction<T>()
{
    var returnvalue = new Dictionary<int,List<T>>();
    //Do some stuff with the collection.
    return returnvalue;
}

その後、これを呼び出すことができます

public void Main()
{
  var functionreturn = myFunction<String>();
}

これが役立つかどうかはわかりませんが、質問を言い換えるのに役立つかもしれません。

注: 上記はエアコードであり、テストされていません。

于 2009-01-06T13:38:49.100 に答える
0

ID がタイプのメンバーである場合は、System.Collections.ObjectModel.KeyedCollection<TKey, TItem>

于 2009-01-06T14:10:55.980 に答える