棧(Stack)和隊列是非常類似的一個容器,只是棧是一個後進先出(LIFO)的容器。 棧用Push()方法在棧中添加元素,用Pop()方法獲取最近添加的一個元素: Stack<T>與Queue<T>類(http://www.cnblogs.com/afei-24/p/6829817.html)類似, ...
棧(Stack)和隊列是非常類似的一個容器,只是棧是一個後進先出(LIFO)的容器。
棧用Push()方法在棧中添加元素,用Pop()方法獲取最近添加的一個元素:
Stack<T>與Queue<T>類(http://www.cnblogs.com/afei-24/p/6829817.html)類似,實現了ICollection和IEnumerable<T>介面。
Stack<T>類的成員:
在foreach語句中,棧的枚舉器不會刪除元素,它只會逐個返回元素。使用Pop()方法會從棧中讀取每個元素,然後刪除它們。
static void Main() { var alphabet = new Stack<char>(); alphabet.Push('A'); alphabet.Push('B'); alphabet.Push('C'); Console.Write("First iteration: "); foreach (char item in alphabet) { Console.Write(item); } Console.WriteLine(); Console.Write("Second iteration: "); while (alphabet.Count > 0) { Console.Write(alphabet.Pop()); } Console.WriteLine(); }
第二次迭代後,棧變空。