Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Stack-Klasse

 

Veröffentlicht: Oktober 2016

Stellt eine einfache Last-in-First-out-Auflistung (LIFO) von Objekten dar.

Namespace:   System.Collections
Assembly:  mscorlib (in mscorlib.dll)

System.Object
  System.Collections.Stack

[SerializableAttribute]
[ComVisibleAttribute(true)]
public class Stack : ICollection, IEnumerable, ICloneable

NameBeschreibung
System_CAPS_pubmethodStack()

Initialisiert eine neue, leere Instanz der Stack-Klasse, die die Standardanfangskapazität aufweist.

System_CAPS_pubmethodStack(ICollection)

Initialisiert eine neue Instanz der Stack -Klasse, die aus der angegebenen Auflistung kopierte Elemente enthält und die anfängliche Kapazität entspricht der Anzahl der kopierten Elemente verfügt.

System_CAPS_pubmethodStack(Int32)

Initialisiert eine neue Instanz der Stack -Klasse, ist leer und verfügt über die angegebene anfängliche Kapazität oder der anfänglichen Standardkapazität, welcher Wert größer ist.

NameBeschreibung
System_CAPS_pubpropertyCount

Ruft die Anzahl der Elemente ab, die in Stack enthalten sind.

System_CAPS_pubpropertyIsSynchronized

Ruft einen Wert ab, der angibt, ob der Zugriff auf die Stack synchronisiert (threadsicher) ist.

System_CAPS_pubpropertySyncRoot

Ruft ein Objekt ab, mit dem der Zugriff auf Stack synchronisiert werden kann.

NameBeschreibung
System_CAPS_pubmethodClear()

Entfernt alle Objekte aus dem Stack.

System_CAPS_pubmethodClone()

Erstellt eine flache Kopie von Stack.

System_CAPS_pubmethodContains(Object)

Bestimmt, ob sich ein Element in Stack befindet.

System_CAPS_pubmethodCopyTo(Array, Int32)

Kopiert die Stack in ein vorhandenes eindimensionales Array, beginnend am angegebenen Index Arrays.

System_CAPS_pubmethodEquals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.(Geerbt von „Object“.)

System_CAPS_protmethodFinalize()

Gibt einem Objekt Gelegenheit, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Geerbt von „Object“.)

System_CAPS_pubmethodGetEnumerator()

Gibt einen IEnumerator für das Stack zurück.

System_CAPS_pubmethodGetHashCode()

Fungiert als die Standardhashfunktion.(Geerbt von „Object“.)

System_CAPS_pubmethodGetType()

Ruft den Type der aktuellen Instanz ab.(Geerbt von „Object“.)

System_CAPS_protmethodMemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.(Geerbt von „Object“.)

System_CAPS_pubmethodPeek()

Gibt das Objekt am Anfang der Stack ohne sie zu entfernen.

System_CAPS_pubmethodPop()

Entfernt das Objekt oben im Stack und gibt es zurück.

System_CAPS_pubmethodPush(Object)

Fügt ein Objekt am Anfang des Stack ein.

System_CAPS_pubmethodSystem_CAPS_staticSynchronized(Stack)

Gibt einen synchronisierten (threadsicheren) Wrapper für die Stack.

System_CAPS_pubmethodToArray()

Kopiert die Stack in ein neues Array.

System_CAPS_pubmethodToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.(Geerbt von „Object“.)

NameBeschreibung
System_CAPS_pubmethodAsParallel()

Überladen. Ermöglicht die Parallelisierung einer Abfrage.(Definiert durch ParallelEnumerable.)

System_CAPS_pubmethodAsQueryable()

Überladen. Konvertiert ein IEnumerable zu einer IQueryable.(Definiert durch Queryable.)

System_CAPS_pubmethodCast<TResult>()

Wandelt die Elemente einer IEnumerable in den angegebenen Typ.(Definiert durch Enumerable.)

System_CAPS_pubmethodOfType<TResult>()

Filtert die Elemente einer IEnumerable auf Grundlage eines angegebenen Typs.(Definiert durch Enumerable.)

Die generische Version dieser Auflistung finden Sie unter System.Collections.Generic.Stack<T>.

Die Kapazität einer Stack ist die Anzahl der Elemente der Stack aufnehmen kann. Elemente hinzugefügt werden, um eine Stack, die Kapazität wird automatisch erhöht je nach Bedarf durch die Neubelegung.

Wenn Count ist kleiner als die Kapazität des Stapels Push ist ein o(1)-Vorgang. Wenn die Kapazität zur Anpassung an das neue Element erhöht werden muss Push wird eine O (n)-Vorgang, in dem n ist Count. Pop ist ein o(1)-Vorgang.

Stack akzeptiert null als gültigen Wert und lässt doppelte Elemente.

Das folgende Beispiel zeigt das Erstellen und Hinzufügen von Werten für eine Stack und wie die Werte angezeigt.

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

   public static void Main()  {

      // Creates and initializes a new Stack.
      Stack myStack = new Stack();
      myStack.Push("Hello");
      myStack.Push("World");
      myStack.Push("!");

      // Displays the properties and values of the Stack.
      Console.WriteLine( "myStack" );
      Console.WriteLine( "\tCount:    {0}", myStack.Count );
      Console.Write( "\tValues:" );
      PrintValues( myStack );
   }

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

}


/* 
This code produces the following output.

myStack
    Count:    3
    Values:    !    World    Hello
*/ 

Universelle Windows-Plattform
Verfügbar seit 10
.NET Framework
Verfügbar seit 1.1

Öffentliche statische (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Um die Threadsicherheit der Stack, müssen alle Operationen über den Wrapper zurückgegebene ausgeführt werden die Synchronized Methode.

Die Enumeration einer Auflistung ist systemintern keine threadsichere Prozedur. Selbst wenn eine Auflistung synchronisiert wird, besteht die Möglichkeit, dass andere Threads sie ändern. Dies führt dazu, dass der Enumerator eine Ausnahme auslöst. Um während der Enumeration Threadsicherheit zu gewährleisten, können Sie entweder die Auflistung während der gesamten Enumeration sperren oder die Ausnahmen, die aus von anderen Threads stammenden Änderungen resultieren, abfangen.

Zurück zum Anfang
Anzeigen: