TryPopメソッドと同様に、TryPeekメソッドを使うと、Stackが空の場合でも例外をスローさせずにピーク操作を試行することができます。 TryPeekメソッドは.NET Standard 2.1/.NET Core 2.0以降で使用できます。

TryPeekメソッドを使ってStackに対してPeek操作を試行する .NET Standard 2.1/.NET Core 2.0
Imports System
Imports System.Collections.Generic

Class Sample
  Shared Sub Main()
    Dim s As New Stack(Of String)()

    ' Stackに要素を追加する
    s.Push("Alice")

    ' Stackに要素がある状態で先頭の要素を参照する
    Dim e1 As String = Nothing

    If s.TryPeek(e1) Then
      Console.WriteLine(e1)
    Else
      Console.WriteLine("(empty)")
    End If

    ' Stackから要素を取り出す
    s.Pop()

    ' Stackが空の状態で先頭の要素を参照する
    Dim e2 As String = Nothing

    If s.TryPeek(e2) Then
      Console.WriteLine(e2)
    Else
      Console.WriteLine("(empty)")
    End If
  End Sub
End Class
実行結果
Alice
(empty)