Queue の先頭にあるオブジェクトを削除せずに返します。
Public Overridable Function Peek() As Object
[C#]
public virtual object Peek();
[C++]
public: virtual Object* Peek();
[JScript]
public function Peek() : Object;
戻り値
Queue の先頭にあるオブジェクト。
例外
例外の種類 | 条件 |
---|---|
InvalidOperationException | Queue が空です。 |
解説
このメソッドは Dequeue メソッドに類似していますが、 Peek は Queue を変更しません。
Queue には、 null 参照 (Visual Basic では Nothing) を値として追加できます。null 値と Queue の末尾を区別するには、 Count プロパティを確認するか、 Queue が空である場合にスローされる InvalidOperationException をキャッチします。
使用例
[Visual Basic, C#, C++] Queue に要素を追加する方法、 Queue から要素を削除する方法、または Queue の先頭にある要素を単純に参照する方法の例を次に示します。
Imports System
Imports System.Collections
Imports Microsoft.VisualBasic
Public Class SamplesQueue
Public Shared Sub Main()
' Creates and initializes a new Queue.
Dim myQ As New Queue()
myQ.Enqueue("The")
myQ.Enqueue("quick")
myQ.Enqueue("brown")
myQ.Enqueue("fox")
' Displays the Queue.
Console.Write("Queue values:")
PrintValues(myQ, ControlChars.Tab)
' Removes an element from the Queue.
Console.WriteLine("(Dequeue)" + ControlChars.Tab + "{0}", myQ.Dequeue())
' Displays the Queue.
Console.Write("Queue values:")
PrintValues(myQ, ControlChars.Tab)
' Removes another element from the Queue.
Console.WriteLine("(Dequeue)" + ControlChars.Tab + "{0}", myQ.Dequeue())
' Displays the Queue.
Console.Write("Queue values:")
PrintValues(myQ, ControlChars.Tab)
' Views the first element in the Queue but does not remove it.
Console.WriteLine("(Peek) " + ControlChars.Tab + "{0}", myQ.Peek())
' Displays the Queue.
Console.Write("Queue values:")
PrintValues(myQ, ControlChars.Tab)
End Sub
Public Shared Sub PrintValues(myCollection As IEnumerable, _
mySeparator As Char)
Dim myEnumerator As System.Collections.IEnumerator = _
myCollection.GetEnumerator()
While myEnumerator.MoveNext()
Console.Write("{0}{1}", mySeparator, myEnumerator.Current)
End While
Console.WriteLine()
End Sub
End Class
' This code produces the following output.
'
' Queue values: The quick brown fox
' (Dequeue) The
' Queue values: quick brown fox
' (Dequeue) quick
' Queue values: brown fox
' (Peek) brown
' Queue values: brown fox
[C#]
using System;
using System.Collections;
public class SamplesQueue {
public static void Main() {
// Creates and initializes a new Queue.
Queue myQ = new Queue();
myQ.Enqueue( "The" );
myQ.Enqueue( "quick" );
myQ.Enqueue( "brown" );
myQ.Enqueue( "fox" );
// Displays the Queue.
Console.Write( "Queue values:" );
PrintValues( myQ, '\t' );
// Removes an element from the Queue.
Console.WriteLine( "(Dequeue)\t{0}", myQ.Dequeue() );
// Displays the Queue.
Console.Write( "Queue values:" );
PrintValues( myQ, '\t' );
// Removes another element from the Queue.
Console.WriteLine( "(Dequeue)\t{0}", myQ.Dequeue() );
// Displays the Queue.
Console.Write( "Queue values:" );
PrintValues( myQ, '\t' );
// Views the first element in the Queue but does not remove it.
Console.WriteLine( "(Peek) \t{0}", myQ.Peek() );
// Displays the Queue.
Console.Write( "Queue values:" );
PrintValues( myQ, '\t' );
}
public static void PrintValues( IEnumerable myCollection, char mySeparator ) {
System.Collections.IEnumerator myEnumerator = myCollection.GetEnumerator();
while ( myEnumerator.MoveNext() )
Console.Write( "{0}{1}", mySeparator, myEnumerator.Current );
Console.WriteLine();
}
}
/*
This code produces the following output.
Queue values: The quick brown fox
(Dequeue) The
Queue values: quick brown fox
(Dequeue) quick
Queue values: brown fox
(Peek) brown
Queue values: brown fox
*/
[C++]
#using <mscorlib.dll>
#using <system.dll>
using namespace System;
using namespace System::Collections;
void PrintValues( IEnumerable* myCollection, Char mySeparator ) {
System::Collections::IEnumerator* myEnumerator = myCollection->GetEnumerator();
while ( myEnumerator->MoveNext() )
Console::Write( "{0}{1}", __box(mySeparator), myEnumerator->Current );
Console::WriteLine();
}
int main() {
// Creates and initializes a new Queue.
Queue* myQ = new Queue();
myQ->Enqueue( S"The" );
myQ->Enqueue( S"quick" );
myQ->Enqueue( S"brown" );
myQ->Enqueue( S"fox" );
// Displays the Queue.
Console::Write( S"Queue values:" );
PrintValues( myQ, '\t' );
// Removes an element from the Queue.
Console::WriteLine( S"(Dequeue)\t{0}", myQ->Dequeue() );
// Displays the Queue.
Console::Write( S"Queue values:" );
PrintValues( myQ, '\t' );
// Removes another element from the Queue.
Console::WriteLine( S"(Dequeue)\t{0}", myQ->Dequeue() );
// Displays the Queue.
Console::Write( S"Queue values:" );
PrintValues( myQ, '\t' );
// Views the first element in the Queue but does not remove it.
Console::WriteLine( S"(Peek) \t{0}", myQ->Peek() );
// Displays the Queue.
Console::Write( S"Queue values:" );
PrintValues( myQ, '\t' );
}
/*
This code produces the following output.
Queue values: The quick brown fox
(Dequeue) The
Queue values: quick brown fox
(Dequeue) quick
Queue values: brown fox
(Peek) brown
Queue values: brown fox
*/
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET
参照
Queue クラス | Queue メンバ | System.Collections 名前空間 | Enqueue | Dequeue