后进先出 stack、 先进先出Queue

using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            undostack = new Stack();
        }

        Stack undostack;
        private void button1_Click(object sender, EventArgs e)
        {
            undostack.Push(textBox1.Text);
        }

        private void button2_Click(object sender, EventArgs e)
        {
            if (undostack.Count != 0)
            {
                string txt = (string)undostack.Pop();
                if (txt != null)
                {
                    textBox2.Text = txt;
                }
            }
        }
    }
}
序号方法名 & 描述
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 到一个新的数组中。

button1点击后 Textbox1的字符push进stack中。点击button2后,将堆栈中后进的元素挨个在TextBox2中显示.

原文地址:https://www.cnblogs.com/zhayunjia/p/5937843.html