Csharp-stack

提供:Dev Guides
移動先:案内検索

C#-スタッククラス

オブジェクトの後入れ先出しコレクションを表します。 アイテムの先入れ先出しアクセスが必要な場合に使用されます。 リストにアイテムを追加すると、アイテムのプッシュと呼ばれ、削除するとアイテムのポップと呼ばれます。

Stackクラスのメソッドとプロパティ

次の表に、 Stack クラスで一般的に使用される properties の一部を示します-

Sr.No. Property & Description
1

Count

Stackに含まれる要素の数を取得します。

次の表は、 Stack クラスで一般的に使用される methods の一部を示しています-

Sr.No. Method & Description
1

public virtual void Clear();

スタックからすべての要素を削除します。

2

public virtual bool Contains(object obj);

要素がスタック内にあるかどうかを決定します。

3

public virtual object Peek();

スタックの一番上にあるオブジェクトを削除せずに返します。

4

public virtual object Pop();

スタックの一番上にあるオブジェクトを削除して返します。

5

public virtual void Push(object obj);

スタックの上部にオブジェクトを挿入します。

6

public virtual object[] ToArray();

スタックを新しい配列にコピーします。

次の例は、スタックの使用を示しています-

using System;
using System.Collections;

namespace CollectionsApplication {
   class Program {
      static void Main(string[] args) {
         Stack st = new Stack();

         st.Push('A');
         st.Push('M');
         st.Push('G');
         st.Push('W');

         Console.WriteLine("Current stack: ");
         foreach (char c in st) {
            Console.Write(c + " ");
         }
         Console.WriteLine();

         st.Push('V');
         st.Push('H');
         Console.WriteLine("The next poppable value in stack: {0}", st.Peek());
         Console.WriteLine("Current stack: ");

         foreach (char c in st) {
            Console.Write(c + " ");
         }

         Console.WriteLine();

         Console.WriteLine("Removing values ");
         st.Pop();
         st.Pop();
         st.Pop();

         Console.WriteLine("Current stack: ");
         foreach (char c in st) {
            Console.Write(c + " ");
         }
      }
   }
}

上記のコードをコンパイルして実行すると、次の結果が生成されます-

Current stack:
W G M A
The next poppable value in stack: H
Current stack:
H V W G M A
Removing values
Current stack:
G M A