C# Stack使用
使用场合
如果总想使用最近存储的对象,使用Stack(栈),例如:
- 放在卡车后面的家具
- 一摞书想看最近增加的书
和List相比Queue的特点
- 不能按任意索引增加或删除项
- 增加对象时要压入(push)
- 删除对象时要弹出(pop)
代码示例
using System;
using System.Collections.Generic;
namespace 栈
{
internal class Program
{
private static void Main()
{
var myQueue = new Stack<string>();
myQueue.Push("first in line");//对象入栈
myQueue.Push("second in line");
myQueue.Push("third in line");
myQueue.Push("last in line");
var takeALook = myQueue.Peek();//获取栈顶的对象,但是不删除改对象
var getFirst = myQueue.Pop();//获取栈顶的对象,然后删除队列中改对象
var getNext = myQueue.Pop();
var howMany = myQueue.Count;//获取栈中元素个数
myQueue.Clear();//清空栈中的对象
Console.WriteLine("Peek() return: {0}" + Environment.NewLine +
"first Pop return: {1}" + Environment.NewLine +
"second Pop return: {2}" + Environment.NewLine +
"two Pop return count: {3}" + Environment.NewLine,
takeALook, getFirst, getNext, howMany);
Console.ReadKey();
}
}
}