キーが ID で値が T 型のコレクションであるキー/値の状況で、コレクション オブジェクト (例のリスト) を保持する最良の方法は何ですか?
これが唯一のオプションですか、それとも .NET 3.5 でこれに対するより良い解決策/別のコレクションがありますか?
var x = new Dictionary<int, List<type>>();
キーが ID で値が T 型のコレクションであるキー/値の状況で、コレクション オブジェクト (例のリスト) を保持する最良の方法は何ですか?
これが唯一のオプションですか、それとも .NET 3.5 でこれに対するより良い解決策/別のコレクションがありますか?
var x = new Dictionary<int, List<type>>();
これは良い解決策であり、非常にうまく機能します。{キー = int、値 = 4 バイト参照} の辞書オブジェクトを効果的に使用しています。
キーで値を取得するとList<T>
、ヒープ上の への参照が返され、それを使用できるようになります。これは、明らかな問題に対する非常に効率的でコンパクトなソリューションになります。
各キーが複数の値を持つことができる多値ディクショナリ、つまりキー付きコレクションを探していますか? PowerCollectionsには、このような MultiDictionary があります。
これがあなたが必要とするものかどうかはわかりませんが、チョップしておきましょう。
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>();
}
これが役立つかどうかはわかりませんが、質問を言い換えるのに役立つかもしれません。
注: 上記はエアコードであり、テストされていません。
ID がタイプのメンバーである場合は、System.Collections.ObjectModel.KeyedCollection<TKey, TItem>