Przeczytaj w języku angielskim

Udostępnij za pośrednictwem


Stack.Pop Metoda

Definicja

Usuwa i zwraca obiekt w górnej części obiektu Stack.

public virtual object Pop ();
public virtual object? Pop ();

Zwraca

Usunięto Object element z górnej części obiektu Stack.

Wyjątki

Wartość jest pusta Stack .

Przykłady

W poniższym przykładzie pokazano, jak dodać elementy do Stackelementu , usunąć elementy z Stackobiektu lub wyświetlić element w górnej części obiektu Stack.

using System;
using System.Collections;
public class SamplesStack  {

   public static void Main()  {

      // Creates and initializes a new Stack.
      Stack myStack = new Stack();
      myStack.Push( "The" );
      myStack.Push( "quick" );
      myStack.Push( "brown" );
      myStack.Push( "fox" );

      // Displays the Stack.
      Console.Write( "Stack values:" );
      PrintValues( myStack, '\t' );

      // Removes an element from the Stack.
      Console.WriteLine( "(Pop)\t\t{0}", myStack.Pop() );

      // Displays the Stack.
      Console.Write( "Stack values:" );
      PrintValues( myStack, '\t' );

      // Removes another element from the Stack.
      Console.WriteLine( "(Pop)\t\t{0}", myStack.Pop() );

      // Displays the Stack.
      Console.Write( "Stack values:" );
      PrintValues( myStack, '\t' );

      // Views the first element in the Stack but does not remove it.
      Console.WriteLine( "(Peek)\t\t{0}", myStack.Peek() );

      // Displays the Stack.
      Console.Write( "Stack values:" );
      PrintValues( myStack, '\t' );
   }

   public static void PrintValues( IEnumerable myCollection, char mySeparator )  {
      foreach ( Object obj in myCollection )
         Console.Write( "{0}{1}", mySeparator, obj );
      Console.WriteLine();
   }
}


/*
This code produces the following output.

Stack values:    fox    brown    quick    The
(Pop)        fox
Stack values:    brown    quick    The
(Pop)        brown
Stack values:    quick    The
(Peek)        quick
Stack values:    quick    The
*/

Uwagi

Ta metoda jest podobna Peek do metody , ale Peek nie modyfikuje metody Stack.

null można w razie potrzeby wypchnąć do Stack symbolu zastępczego jako symbol zastępczy. Aby odróżnić wartość null od końca stosu, sprawdź Count właściwość lub przechwyć InvalidOperationExceptionelement , który jest zgłaszany, gdy Stack element jest pusty.

Ta metoda jest operacją O(1) .

Dotyczy

Produkt Wersje
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0

Zobacz też