Queue<T>.TrimExcess メソッド

定義

Queue<T> 内にある実際の要素数が現在の容量の 90% 未満の場合は、容量をその数に設定します。

public:
 void TrimExcess();
public void TrimExcess ();
member this.TrimExcess : unit -> unit
Public Sub TrimExcess ()

注釈

このメソッドを使用すると、コレクションに新しい要素が追加されない場合に、コレクションのメモリ オーバーヘッドを最小限に抑えることができます。 ただし、大きな Queue<T> サイズの再割り当てとコピーのコストは相当な場合があるため TrimExcess 、リストが容量の 90% を超える場合、このメソッドは何も行いません。 これにより、比較的小さなゲインに対して大きな再割り当てコストが発生することが回避されます。

このメソッドは O(n) 操作です。nCount です。

初期状態にリセット Queue<T> するには、メソッドを呼び出す前にメソッドを Clear 呼び出 TrimExcess します。 空 Queue<T> をトリミングすると、その容量が Queue<T> 既定の容量に設定されます。

適用対象

こちらもご覧ください