Stack<T>.TrimExcess メソッド

定義

オーバーロード

TrimExcess()

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

TrimExcess(Int32)

Stack<T> オブジェクトの容量を、指定した数のエントリに設定します。

TrimExcess()

ソース:
Stack.cs
ソース:
Stack.cs
ソース:
Stack.cs

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

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

注釈

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

このメソッドは O(n) 演算で、nCount

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

こちらもご覧ください

適用対象

TrimExcess(Int32)

ソース:
Stack.cs

Stack<T> オブジェクトの容量を、指定した数のエントリに設定します。

public:
 void TrimExcess(int capacity);
public void TrimExcess (int capacity);
member this.TrimExcess : int -> unit
Public Sub TrimExcess (capacity As Integer)

パラメーター

capacity
Int32

新しい容量。

例外

渡された容量が 0 より小さいか、エントリ数。

適用対象