首页 > 代码库 > C#集合之栈

C#集合之栈

  栈(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();


        }

第二次迭代后,栈变空。

C#集合之栈