Stack-Auflistungstypen
Die System.Collections.Stack-Klasse und die generischen System.Collections.Generic.Stack<T>- und System.Collections.Concurrent.ConcurrentStack<T>-Klassen sind FIFO-Auflistungsklassen, die die ICollection-Schnittstelle implementieren. Die generische System.Collections.Generic.Stack<T>-Klasse und die generische System.Collections.Concurrent.ConcurrentStack<T>-Klasse implementieren darüber hinaus die generische ICollection<T>-Schnittstelle.
Sowohl Stapel als auch Warteschlangen sind nützlich, wenn ein temporärer Speicher für Informationen benötigt wird, d. h., ein Element verworfen werden kann, sobald sein Wert abgerufen wurde. Verwenden Sie System.Collections.Queue, wenn in derselben Reihenfolge auf die Daten zugegriffen werden soll, in der sie in der Auflistung gespeichert wurden. Verwenden Sie System.Collections.Generic.Stack<T>, wenn in umgekehrter Reihenfolge auf die Daten zugegriffen werden soll.
Verwenden Sie den System.Collections.Concurrent.ConcurrentStack<T>-Typ und den System.Collections.Concurrent.ConcurrentQueue<T>-Typ, wenn Sie gleichzeitig auf die Auflistung von mehreren Threads zugreifen müssen.
Eine übliche Verwendung für eine System.Collections.Generic.Stack<T> ist die Erhaltung von Variablenzuständen während des Aufrufs anderer Prozeduren.
Es gibt drei Hauptvorgänge, die in einer System.Collections.Generic.Stack<T> und ihren Elementen verwendet werden können:
Peek gibt ein Element oben im Stack<T> zurück, ohne es aus dem Stack<T> zu entfernen.
Die System.Collections.Concurrent.ConcurrentStack<T>-Klasse stellt TryPop-und TryPopRange-Methoden bereit, die false (False in Visual Basic) zurückgeben, wenn der Wert bzw. die Werte nicht vom Stapel geholt werden konnten. Mit der TryPopRange-Methode und der PushRange-Methode können mehrere Elementen in einem Vorgang effizient auf dem Stapel abgelegt und vom Stapel geholt werden.
Siehe auch
Referenz
System.Collections.Generic.Stack<T>
System.Collections.Generic.Queue<T>
System.Collections.Generic.ICollection<T>