C # Stapel (Stack)
Stapel (Stack)LIFO stellt eine Sammlung von Objekten.Wenn Sie die LIFO-Zugriff ausführen müssen, verwenden Sie den Stapel. Wenn Sie eine Liste hinzuzufügen, einSchiebeelement aufgerufen , wenn Sie das Element aus der Liste zu entfernen, um das Popup- Element bezeichnet.
Stapel Methoden und Eigenschaften der Klasse
In der folgenden Tabelle sind einige der gemeinsamenStack - Klasse - Attribute:
属性 | 描述 |
---|---|
Count | 获取 Stack 中包含的元素个数。 |
Die folgende Tabelle enthält einige der häufigstenMethoden der Klasse Stack:
序号 | 方法名 & 描述 |
---|---|
1 | public virtual void Clear();
从 Stack 中移除所有的元素。 |
2 | public virtual bool Contains(
object obj
);
判断某个元素是否在 Stack 中。 |
3 | public virtual object Peek(); 返回在 Stack 的顶部的对象,但不移除它。 |
4 | public virtual object Pop(); 移除并返回在 Stack 的顶部的对象。 |
5 | public virtual void Push(
object obj
); 向 Stack 的顶部添加一个对象。 |
6 | public virtual object[] ToArray(); 复制 Stack 到一个新的数组中。 |
Beispiele
Das folgende Beispiel zeigt den Stapel (Stack) Verwendung:
using System; using System.Collections; Namespace CollectionsApplication { Klasse-Programm { static void Main (string [] args) { Stapel st = new Stack (); st.Push ( 'A'); st.Push ( 'M'); st.Push (G ''); st.Push ( 'W'); Console.WriteLine ( "Current Stapel:"); foreach (char c in st) { Console.Write (c + ""); } Console.WriteLine (); st.Push ( 'V'); st.Push ( 'H'); Console.WriteLine ( "Der nächste Poppable-Wert im Stapel: {0}", st.Peek ()); Console.WriteLine ( "Current Stapel:"); foreach (char c in st) { Console.Write (c + ""); } Console.WriteLine (); Console.WriteLine ( "Entfernen Werte"); st.Pop (); st.Pop (); st.Pop (); Console.WriteLine ( "Current Stapel:"); foreach (char c in st) { Console.Write (c + ""); } } } }
Wenn der obige Code kompiliert und ausgeführt wird, erzeugt es die folgenden Ergebnisse:
Aktuelle Stapel: WGMA Der nächste Poppable Wert im Stapel: H Aktuelle Stapel: HVWGMA Entfernen von Werten Aktuelle Stapel: GMA