C# Stack堆棧的使用方法
堆棧(Stack)代表了一個(gè)后進(jìn)先出的對(duì)象集合。當(dāng)您需要對(duì)各項(xiàng)進(jìn)行后進(jìn)先出的訪問(wèn)時(shí),則使用堆棧。當(dāng)您在列表中添加一項(xiàng),稱為推入元素,當(dāng)您從列表中移除一項(xiàng)時(shí),稱為彈出元素。
那么什么情況下使用stack呢?看一個(gè)例子:
當(dāng)子彈銷毀時(shí),將子彈放入堆棧中,當(dāng)堆棧中有子彈直接拿來(lái)用,當(dāng)堆棧中沒(méi)有子彈時(shí)創(chuàng)建
private static Stack<Bullet> bulletStack = new Stack<Bullet>();
public static Bullet CreateBullet()
{
Bullet bullet;
if (bulletStack.Count>0)
{
bullet = bulletStack.Pop();
}
else
{
bullet = new Bullet();
}
return bullet;
}
public static void Destroy(Bullet bullet)
{
bulletStack.Push(bullet);
}Stack 類的方法和屬性
Stack 類的一些常用的 屬性:
| 屬性 | 描述 |
|---|---|
| Count | 獲取 Stack 中包含的元素個(gè)數(shù)。 |
Stack 類的一些常用的 方法:
| 序號(hào) | 方法名 & 描述 |
|---|---|
| 1 | public virtual void Clear(); 從 Stack 中移除所有的元素。 |
| 2 | public virtual bool Contains( object obj ); 判斷某個(gè)元素是否在 Stack 中。 |
| 3 | public virtual object Peek(); 返回在 Stack 的頂部的對(duì)象,但不移除它。 |
| 4 | public virtual object Pop(); 移除并返回在 Stack 的頂部的對(duì)象。 |
| 5 | public virtual void Push( object obj ); 向 Stack 的頂部添加一個(gè)對(duì)象。 |
| 6 | public virtual object[] ToArray(); 復(fù)制 Stack 到一個(gè)新的數(shù)組中。 |
到此這篇關(guān)于C# Stack堆棧的使用方法的文章就介紹到這了,更多相關(guān)C# Stack堆棧內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C#如何提取經(jīng)緯度文件中的經(jīng)緯度數(shù)據(jù)
近期開(kāi)發(fā)時(shí)需要獲取當(dāng)前的經(jīng)緯度坐標(biāo),下面這篇文章主要給大家介紹了關(guān)于C#如何提取經(jīng)緯度文件中經(jīng)緯度數(shù)據(jù)的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08
C#實(shí)現(xiàn)圖形位置組合轉(zhuǎn)換的方法
這篇文章主要介紹了C#實(shí)現(xiàn)圖形位置組合轉(zhuǎn)換的方法,涉及C#使用Matrix操作圖形的相關(guān)技巧,需要的朋友可以參考下2015-06-06
Unity通過(guò)UGUI的Slider調(diào)整物體顏色
這篇文章主要為大家詳細(xì)介紹了Unity通過(guò)UGUI的Slider調(diào)整物體顏色,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-02-02
C#中foreach語(yǔ)句使用break暫停遍歷的方法
這篇文章主要介紹了C#中foreach語(yǔ)句使用break暫停遍歷的方法,涉及C#中break語(yǔ)句跳出foreach循環(huán)的使用技巧,非常具有實(shí)用價(jià)值,是C#初學(xué)者必須掌握的重要技巧,需要的朋友可以參考下2015-04-04

