Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

Stack<T>.Peek méthode ()

 

Date de publication : novembre 2016

Retourne l’objet en haut de la Stack<T> sans le supprimer.

Espace de noms:   System.Collections.Generic
Assembly:  System (dans System.dll)

public T Peek()

Valeur de retour

Type: T

L’objet en haut de la Stack<T>.

Exception Condition
InvalidOperationException

La Stack<T> est vide.

Cette méthode est analogue à la méthode Pop, mais Peek ne modifie pas la Stack<T>.

Si type T est un type référence, null peut être placé sur le Stack<T> comme un espace réservé, si nécessaire.

Cette méthode est une opération o (1).

L’exemple de code suivant illustre plusieurs méthodes de la Stack<T> classe générique, y compris la Peek méthode.

L’exemple de code crée une pile de chaînes avec une capacité par défaut et utilise le Push méthode pour insérer cinq chaînes dans la pile. Les éléments de la pile sont énumérés, ce qui ne modifie pas l’état de la pile. Le Pop méthode permet de dépiler la première chaîne de la pile. Le Peek méthode utilisée pour rechercher l’élément suivant sur la pile, puis le Pop méthode permet de dépiler.

Le ToArray méthode est utilisée pour créer un tableau et de copier les éléments de la pile, puis le tableau est passé à la Stack<T> constructeur qui prend IEnumerable<T>, création d’une copie de la pile dans l’ordre des éléments inversé. Les éléments de la copie sont affichés.

Un tableau représentant deux fois la taille de la pile est créée et le CopyTo méthode est utilisée pour copier les éléments du tableau commençant au milieu du tableau. Le Stack<T> constructeur est également utilisé pour créer une copie de la pile dans l’ordre des éléments est inversé ; par conséquent, les trois éléments null sont à la fin.

Le Contains méthode est utilisée pour indiquer que la chaîne « 4 » dans la première copie de la pile, après quoi la Clear méthode efface la copie et le Count propriété indique que la pile est vide.

using System;
using System.Collections.Generic;

class Example
{
    public static void Main()
    {
        Stack<string> numbers = new Stack<string>();
        numbers.Push("one");
        numbers.Push("two");
        numbers.Push("three");
        numbers.Push("four");
        numbers.Push("five");

        // A stack can be enumerated without disturbing its contents.
        foreach( string number in numbers )
        {
            Console.WriteLine(number);
        }

        Console.WriteLine("\nPopping '{0}'", numbers.Pop());
        Console.WriteLine("Peek at next item to destack: {0}", 
            numbers.Peek());
        Console.WriteLine("Popping '{0}'", numbers.Pop());

        // Create a copy of the stack, using the ToArray method and the
        // constructor that accepts an IEnumerable<T>.
        Stack<string> stack2 = new Stack<string>(numbers.ToArray());

        Console.WriteLine("\nContents of the first copy:");
        foreach( string number in stack2 )
        {
            Console.WriteLine(number);
        }

        // Create an array twice the size of the stack and copy the
        // elements of the stack, starting at the middle of the 
        // array. 
        string[] array2 = new string[numbers.Count * 2];
        numbers.CopyTo(array2, numbers.Count);

        // Create a second stack, using the constructor that accepts an
        // IEnumerable(Of T).
        Stack<string> stack3 = new Stack<string>(array2);

        Console.WriteLine("\nContents of the second copy, with duplicates and nulls:");
        foreach( string number in stack3 )
        {
            Console.WriteLine(number);
        }

        Console.WriteLine("\nstack2.Contains(\"four\") = {0}", 
            stack2.Contains("four"));

        Console.WriteLine("\nstack2.Clear()");
        stack2.Clear();
        Console.WriteLine("\nstack2.Count = {0}", stack2.Count);
    }
}

/* This code example produces the following output:

five
four
three
two
one

Popping 'five'
Peek at next item to destack: four
Popping 'four'

Contents of the first copy:
one
two
three

Contents of the second copy, with duplicates and nulls:
one
two
three




stack2.Contains("four") = False

stack2.Clear()

stack2.Count = 0
 */

Plateforme Windows universelle
Disponible depuis 8
.NET Framework
Disponible depuis 2.0
Bibliothèque de classes portable
Pris en charge dans : plateformes .NET portables
Silverlight
Disponible depuis 2.0
Silverlight pour Windows Phone
Disponible depuis 7.0
Windows Phone
Disponible depuis 8.1
Retour au début
Afficher: