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