Stackが空のときにPopメソッドを呼び出すと、例外InvalidOperationExceptionがスローされます。 一方、TryPopメソッドを使うと、Stackが空の場合でも例外をスローさせずにポップ操作を試行することができます。 TryPopメソッドは.NET Standard 2.1/.NET Core 2.0以降で使用できます。
TryPopメソッドは、成功した場合はポップした要素をoutパラメータで出力し、戻り値true
を返します。 失敗した場合、つまりStackが空だった場合は単に戻り値false
を返します。
TryPopメソッドを使ってStackに対してポップ操作を試行する .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に要素をPush
s.Push("Alice")
s.Push("Bob")
s.Push("Charlie")
' Stackが空になるまで内容をPop
' (Stackが空の場合、TryPopメソッドはFalseを返す)
Dim e As String = Nothing
While s.TryPop(e)
Console.WriteLine(e)
End While
End Sub
End Class
実行結果
Charlie Bob Alice