PR

 スタックを扱うにはStackクラスを利用する。スタックとは,後入れ先出し型の配列である。Stackオブジェクトの容量とは,Stackオブジェクトが保持できる要素数である。Stackオブジェクトの容量のデフォルトの初期値は10である。

 Stackオブジェクトに要素を追加すると,必要に応じて容量が自動的に増加する。だが,要素を削除しても,そのままでは容量は変わらない。容量を減らすには,TrimToSizeメソッドを呼び出す。

 Stackオブジェクトにはnull参照も格納でき,さらに要素の重複も許可する。

サンプルコードを見る


名前空間
System.Collections
対応バージョン
.NET Framework 2.0,1.1,1.0
.NET Compact Framework 2.0,1.0
主なプロパティ
Count
Stackオブジェクトに格納されている要素の数を取得する。

IsSynchronized
Stackオブジェクトへのアクセスが同期されている(スレッド・セーフである) かどうかを示す値を取得する。アクセスが同期されている(スレッド・セーフである)場合はTrue,それ以外の場合はFalseを返す。デフォルトはFalseである。

主なメソッド
Clear
Stackオブジェクトからすべてのオブジェクトを削除する。だが,容量は変化しない。容量を小さくするには,TrimToSizeメソッドを呼び出す。

Clone
Stackオブジェクトの簡易コピーを作成する。簡易コピーによってコピーされるのはStackオブジェクトの要素だけである。Stackオブジェクトの各要素が参照しているオブジェクトはコピーされない。つまり,コピーされた新しいStackオブジェクトの要素の参照先は,元のStackオブジェクトの要素の参照先と同じオブジェクトになる。

Contains
引数に指定したオブジェクトが,Stackオブジェクト内に存在するかどうかを調べる。引数に指定したオブジェクトがStackオブジェクト内に存在する場合はTrue,それ以外の場合はFalseを返す。

CopyTo
Stackオブジェクトの要素を既存の1次元配列にコピーする。コピー元のStackオブジェクトの要素数が,コピー先の配列に格納できる要素の数を超えている場合,ArgumentException例外が発生する。

Peek
Stackの先頭にあるオブジェクトを返す。そのオブジェクトを削除しない。Stackオブジェクトが空の場合は,InvalidOperationException例外が発生する。Popメソッドとの違いは,このメソッドが返したオブジェクトを削除しないことである。

Pop
Stackオブジェクトの先頭にあるオブジェクトを返し,そのオブジェクトをStackオブジェクト内から削除する。Stackオブジェクトが空の場合は,InvalidOperationException例外が発生する。Peekメソッドとの違いは,このメソッドが返したオブジェクトを削除することである。

Push
Stackオブジェクトの先頭に,引数に指定したオブジェクトを追加する。null参照も追加できる。必要に応じてStackオブジェクトの容量が増加する。

Synchronized
同期されている(スレッド・セーフな)Stackラッパーを返す。

ToArray
Stackオブジェクトの要素を,新たに作成した配列にコピーし,その配列を返す。

TrimToSize
容量をStackオブジェクト内にある実際の要素数に設定する。Popメソッドなどを呼び出してStackオブジェクト内の要素が削除されても,そのままではStackオブジェクトの容量は変わらない。容量を削減するときには,TrimToSizeメソッドを呼び出す。