Assembly : System (dans system.dll)
SyntaxePublic Function Peek As T
Dim instance As Queue(Of T) Dim returnValue As T returnValue = instance.Peek
public T Peek ()
public:
T Peek ()
public T Peek ()
public function Peek () : T
Valeur de retour
Objet situé au début de Queue.
NotesCette méthode est analogue à la méthode Dequeue, mais Peek ne modifie pas Queue.
Si le type T est un type référence, référence Null (Nothing en Visual Basic) peut être ajouté à Queue en tant que valeur.
Cette méthode est une opération O(1).
ExempleL'exemple de code suivant illustre plusieurs méthodes de la classe générique Queue, notamment la méthode Peek.
L'exemple de code crée une file d'attente de chaînes avec une capacité par défaut et utilise la méthode Enqueue pour mettre cinq chaînes en file d'attente. Les éléments de la file d'attente sont énumérés, ce qui ne modifie pas l'état de la file d'attente. La méthode Dequeue permet de supprimer la première chaîne de la file d'attente. La méthode Peek permet d'afficher l'élément suivant dans la file d'attente, et la méthode Dequeue permet de le supprimer de la file d'attente.
La méthode ToArray permet de créer un tableau et d'y copier les éléments de la file d'attente. Ce tableau est ensuite passé au constructeur Queue qui accepte IEnumerable, créant ainsi une copie de la file d'attente. Les éléments de la copie s'affichent.
Un tableau représentant deux fois la taille de la file d'attente est créé, et la méthode CopyTo est utilisée pour copier les éléments du tableau commençant au milieu du tableau. Le constructeur Queue est à nouveau utilisé pour créer une deuxième copie de la file d'attente qui contient trois éléments null au début.
La méthode Contains permet d'indiquer que la chaîne "four" figure dans la première copie de la file d'attente. La méthode Clear efface ensuite la copie et la propriété Count indique que la file d'attente est vide.
Imports System Imports System.Collections.Generic Module Example Sub Main Dim numbers As New Queue(Of String) numbers.Enqueue("one") numbers.Enqueue("two") numbers.Enqueue("three") numbers.Enqueue("four") numbers.Enqueue("five") ' A queue can be enumerated without disturbing its contents. For Each number As String In numbers Console.WriteLine(number) Next Console.WriteLine(vbLf & "Dequeuing '{0}'", numbers.Dequeue()) Console.WriteLine("Peek at next item to dequeue: {0}", _ numbers.Peek()) Console.WriteLine("Dequeuing '{0}'", numbers.Dequeue()) ' Create a copy of the queue, using the ToArray method and the ' constructor that accepts an IEnumerable(Of T). Dim queueCopy As New Queue(Of String)(numbers.ToArray()) Console.WriteLine(vbLf & "Contents of the first copy:") For Each number As String In queueCopy Console.WriteLine(number) Next ' Create an array twice the size of the queue, compensating ' for the fact that Visual Basic allocates an extra array ' element. Copy the elements of the queue, starting at the ' middle of the array. Dim array2((numbers.Count * 2) - 1) As String numbers.CopyTo(array2, numbers.Count) ' Create a second queue, using the constructor that accepts an ' IEnumerable(Of T). Dim queueCopy2 As New Queue(Of String)(array2) Console.WriteLine(vbLf & _ "Contents of the second copy, with duplicates and nulls:") For Each number As String In queueCopy2 Console.WriteLine(number) Next Console.WriteLine(vbLf & "queueCopy.Contains(""four"") = {0}", _ queueCopy.Contains("four")) Console.WriteLine(vbLf & "queueCopy.Clear()") queueCopy.Clear() Console.WriteLine(vbLf & "queueCopy.Count = {0}", _ queueCopy.Count) End Sub End Module ' This code example produces the following output: ' 'one 'two 'three 'four 'five ' 'Dequeuing 'one' 'Peek at next item to dequeue: two ' 'Dequeuing 'two' ' 'Contents of the copy: 'three 'four 'five ' 'Contents of the second copy, with duplicates and nulls: ' ' ' 'three 'four 'five ' 'queueCopy.Contains("four") = True ' 'queueCopy.Clear() ' 'queueCopy.Count = 0
using System; using System.Collections.Generic; class Example { public static void Main() { Queue<string> numbers = new Queue<string>(); numbers.Enqueue("one"); numbers.Enqueue("two"); numbers.Enqueue("three"); numbers.Enqueue("four"); numbers.Enqueue("five"); // A queue can be enumerated without disturbing its contents. foreach( string number in numbers ) { Console.WriteLine(number); } Console.WriteLine("\nDequeuing '{0}'", numbers.Dequeue()); Console.WriteLine("Peek at next item to dequeue: {0}", numbers.Peek()); Console.WriteLine("Dequeuing '{0}'", numbers.Dequeue()); // Create a copy of the queue, using the ToArray method and the // constructor that accepts an IEnumerable<T>. Queue<string> queueCopy = new Queue<string>(numbers.ToArray()); Console.WriteLine("\nContents of the first copy:"); foreach( string number in queueCopy ) { Console.WriteLine(number); } // Create an array twice the size of the queue and copy the // elements of the queue, starting at the middle of the // array. string[] array2 = new string[numbers.Count * 2]; numbers.CopyTo(array2, numbers.Count); // Create a second queue, using the constructor that accepts an // IEnumerable(Of T). Queue<string> queueCopy2 = new Queue<string>(array2); Console.WriteLine("\nContents of the second copy, with duplicates and nulls:"); foreach( string number in queueCopy2 ) { Console.WriteLine(number); } Console.WriteLine("\nqueueCopy.Contains(\"four\") = {0}", queueCopy.Contains("four")); Console.WriteLine("\nqueueCopy.Clear()"); queueCopy.Clear(); Console.WriteLine("\nqueueCopy.Count = {0}", queueCopy.Count); } } /* This code example produces the following output: one two three four five Dequeuing 'one' Peek at next item to dequeue: two Dequeuing 'two' Contents of the copy: three four five Contents of the second copy, with duplicates and nulls: three four five queueCopy.Contains("four") = True queueCopy.Clear() queueCopy.Count = 0 */
Plates-formesWindows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile pour Pocket PC, Windows Mobile pour Smartphone, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition
Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.
Informations de version
Outils (masquer)
S'enregistrer
Liste des Membres
Qui est en ligne?
FAQ