Dictionary
に一度にたくさんのアイテムを追加したい場合は、あらかじめ(粗い)数値を知っていれば、適切なコンストラクタのオーバーロードを使用して初期容量を設定するとメモリとCPUの面でより効率的です。ディクショナリはどこですか。<,> .SetCapacity(int newCapacity)?
300.000エントリを使用してテストした場合、ディクショナリの容量をたとえば300.000に設定すると、初期化されていない場合より約25%高速です。
が既に作成されていて、たくさんのアイテムを記入する必要がある辞書が空になったらどうすればいいですか?これが例えばであると仮定する。 readonly
私は新しい辞書インスタンスで再割り当てできない変数です。私はすでに書かれている辞書の能力に影響を与えるものは見当たりません。例えばのようなもの。 Clear(int newInitialCapacity)
がいいでしょう。
私は不運ですか?
[this](http://msdn.microsoft.com/en-us/library/tk84bxf4.aspx)コンストラクタを使用して初期サイズを指定すると何が問題になりますか? –
@TimSchmelter彼はすでに辞書を構築していて、それを再利用したいと思っています。 – webnoob
'Clear(int capacity)'をシミュレートする唯一の方法は、リフレクションを介して 'private void Initialize(int capacity)'を呼び出すことです。 – leppie