[C#复习向整合]Stack栈

一.本质

本质也是object数组,但无法直接获取数组某个元素.

先进后出.

二.申明

要头文件System.Collections.

Stack s = new Stack();

三.增删查改

1.增

压栈,只能一个一个的来

s.Push(1);
s.Push("123")l
s.Push(34.123f);

2.取

弹栈,弹出栈顶元素.

Object o = s.Pop();

3.查

栈无法查看指定位置元素,栈没有实现索引器.栈只能看栈顶.

Object o = s.Peek();
//注意Peek方法与Pop的区别,Peek只是查看栈顶,并没有像pop一样取出

但可以查找元素是否在栈中

if(s.Contains(1))
{
    //查找s是否有整数1
}

4.改

栈无法改指定元素,只能push,pop,除非Clear()全部清空重来.

四.遍历

若只查看长度

s.Count;//已存元素数量

 方法1:

//因为栈没有实现索引器,所以不能中括号查找,则只能foreach,而且遍历出来的顺序也是从顶到底

foreach(Object item in s)
{
    Console.WriteLine(item);
}

方法2:

Object[] arr = s.ToArray();//把栈转换成数组,然后遍历数组
for(itn i = 0;i<arr.Length;i++)
{
    Console.WriteLine(arr[i]);//也是从顶到底
}

方法3:

while(s.Count>0)
{
    //边取便用
    Object o = s.Pop();
    Console.WriteLine(o);
}

五.装箱拆箱

与ArrayList类似

参考资料<唐老狮C#教程>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值