SortedSetと異なり、HashSetからは直接最小値・最大値を取得することはできませんが、LINQの拡張メソッドであるMinメソッドとMaxメソッドを使うことで求めることができます。
LINQのMin・Maxメソッドを使ってHashSet内の最小値・最大値を取得する
Imports System
Imports System.Collections.Generic
Imports System.Linq
Class Sample
Shared Sub Main()
Dim s As New HashSet(Of String) From {"Alice", "Eve", "Charlie", "Bob", "Dave"}
' 最小値と最大値を表示
Console.WriteLine($"Mix: {s.Min()}")
Console.WriteLine($"Max: {s.Max()}")
End Sub
End Class
実行結果
Mix: Alice Max: Eve
LINQのMinメソッド・Maxメソッドでは全要素を走査した上で最大・最小の要素を返します。 このメソッドをSortedSetに対しても用いることはできますが、無駄が多く、SortedListのMinプロパティ・Maxプロパティの代わりとしてMinメソッド・Maxメソッドを用いる利点はありません。