Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Tipi di raccolte Stack

La classe System.Collections.Stack e le classi System.Collections.Generic.Stack<T> e System.Collections.Concurrent.ConcurrentStack<T> sono classi di raccolte LIFO (Last-In, First-Out) che implementano l'interfaccia ICollection. Anche le classi generiche System.Collections.Generic.Stack<T> e System.Collections.Concurrent.ConcurrentStack<T> implementano l'interfaccia generica ICollection<T>.

Gli oggetti Stack e Queue sono utili se è necessario un archivio temporaneo per le informazioni, ad esempio quando si desidera eliminare un elemento dopo averne recuperato il valore. Utilizzare System.Collections.Queue se è necessario accedere alle informazioni nello stesso ordine con cui sono archiviate nella raccolta. Utilizzare System.Collections.Generic.Stack<T> se è necessario accedere alle informazioni nell'ordine inverso.

Utilizzare i tipi System.Collections.Concurrent.ConcurrentStack<T> e System.Collections.Concurrent.ConcurrentQueue<T> quando è necessario accedere contemporaneamente alla raccolta da più thread.

L'oggetto System.Collections.Generic.Stack<T> viene in genere utilizzato quando si desidera conservare gli stati delle variabili durante le chiamate ad altre routine.

Su un oggetto System.Collections.Generic.Stack<T> e sui relativi elementi è possibile eseguire tre operazioni principali:

  • L'operazione Push consente di inserire un elemento nella parte superiore dell'oggetto Stack.

  • L'operazione Pop consente di rimuovere un elemento dalla parte superiore dell'oggetto Stack<T>.

  • L'operazione Peek restituisce un elemento che si trova nella parte superiore dell'oggetto Stack<T> senza tuttavia rimuoverlo dall'oggetto Stack<T>.

    La classe System.Collections.Concurrent.ConcurrentStack<T> fornisce metodi TryPop e TryPopRange che restituiscono false (False in Visual Basic) se non è possibile estrarre il valore o i valori. I metodi TryPopRange e PushRange forniscono un inserimento e un'estrazione efficienti di più elementi in una sola operazione.

Mostra: