TryDequeueメソッドと同様に、TryPeekメソッドを使うと、Queueが空の場合でも例外をスローさせずにピーク操作を試行することができます。 TryPeekメソッドは.NET Standard 2.1/.NET Core 2.0以降で使用できます。
TryPeekメソッドを使ってQueueに対してPeek操作を試行する .NET Standard 2.1/.NET Core 2.0
Imports System
Imports System.Collections.Generic
Class Sample
Shared Sub Main()
Dim q As New Queue(Of String)()
' Queueに要素を追加する
q.Enqueue("Alice")
' Queueに要素がある状態で先頭の要素を参照する
Dim e1 As String = Nothing
If q.TryPeek(e1) Then
Console.WriteLine(e1)
Else
Console.WriteLine("(empty)")
End If
' Queueから要素を取り出す
q.Dequeue()
' Queueが空の状態で先頭の要素を参照する
Dim e2 As String = Nothing
If q.TryPeek(e2) Then
Console.WriteLine(e2)
Else
Console.WriteLine("(empty)")
End If
End Sub
End Class
実行結果
Alice (empty)