Stack 集合型別
System.Collections.Stack 類別 (以及 System.Collections.Generic.Stack<T> 和 System.Collections.Concurrent.ConcurrentStack<T> 泛型類別) 屬於實作 ICollection 介面的後進先出集合類別。 System.Collections.Generic.Stack<T> 和 System.Collections.Concurrent.ConcurrentStack<T> 泛型類別同時還實作 ICollection<T> 泛型介面。
當您需要資訊的暫時存放區,也就是說,當您想要在擷取項目的值之後就捨棄該項目時,堆疊和佇列會很有用。 如果需要依照資訊儲存到集合的先後順序來存取資訊,請使用 System.Collections.Queue。 如果需要以相反順序存取資訊,請使用 System.Collections.Generic.Stack<T>。
當您需要同時從多個執行緒存取集合時,請使用 System.Collections.Concurrent.ConcurrentStack<T> 和 System.Collections.Concurrent.ConcurrentQueue<T> 型別。
System.Collections.Generic.Stack<T> 最常用於在呼叫其他程序的期間保留變數的狀態。
在 System.Collections.Generic.Stack<T> 和其項目上可以執行的作業主要有三種:
Peek 會傳回位於 Stack<T> 頂端的項目,但不會從 Stack<T> 中移除該項目。
System.Collections.Concurrent.ConcurrentStack<T> 類別提供 TryPop 和 TryPopRange 方法,這些方法會在無法疊減 (Pop) 值時傳回 false (在 Visual Basic 中為 False)。 TryPopRange 和 PushRange 方法能夠有效率地以單一作業疊加 (Push) 和疊減 (Pop) 多個項目。
請參閱
參考
System.Collections.Generic.Stack<T>
System.Collections.Generic.Queue<T>
System.Collections.Generic.ICollection<T>