私たちはいくつかの予想最大サイズを知っているとき、私の.NETコレクションの一部の初期サイズを設定しようとして始めました。私たちは、コレクションに後でこのコレクションに項目の追加を開始した場合には、これらの新しいアイテムに合わせてサイズが変更されます私は、.NETコレクションの初期サイズを設定し、この初期サイズOVERいくつかの項目を追加した場合、どのようにコレクションは次のサイズ変更を決定していますか?
に、静的データの事前キャッシュなどを考えてみてください。どのようにそれは次のリサイズがどうなるかを判断しますか?私は、デフォルトのロジックを使用し、初期サイズを設定しないと、プリコードされたロジックに基づいてサイズが変更されると考えました。これで最初のサイズが設定されました。
は、それが単純化され、それがcurrent size + 10%
か何かのようないくつかの数学の式ですか?
を参照してください?だから、もし私が..10万のサイズをしたら、10,001のアイテムを追加したいとき、それは20,000に倍増するでしょうか? –
はい。 List.Addの動作を見てください:http://referencesource.microsoft.com/#mscorlib/system/collections/generic/list.cs,9cc11588bffd57c1 –
@ Pure.Krome - はい、サイズを初期化するのはそうです重要(可能であれば)。 –