TryPopメソッドと同様に、TryPeekメソッドを使うと、Stackが空の場合でも例外をスローさせずにピーク操作を試行することができます。 TryPeekメソッドは.NET Standard 2.1/.NET Core 2.0以降で使用できます。
TryPeekメソッドを使ってStackに対してPeek操作を試行する .NET Standard 2.1/.NET Core 2.0
using System;
using System.Collections.Generic;
class Sample {
static void Main()
{
var s = new Stack<string>();
// Stackに要素を追加する
s.Push("Alice");
// Stackに要素がある状態で先頭の要素を参照する
if (s.TryPeek(out var e1))
Console.WriteLine(e1);
else
Console.WriteLine("(empty)");
// Stackから要素を取り出す
s.Pop();
// Stackが空の状態で先頭の要素を参照する
if (s.TryPeek(out var e2))
Console.WriteLine(e2);
else
Console.WriteLine("(empty)");
}
}
実行結果
Alice (empty)