HashSetクラス・SortedSetクラスともに、Listなどの他のコレクションクラスと共通するAdd, Remove, Contains, Clearなどのメソッドが用意されています。 IEnumerable<T>インターフェイスを実装しているため、foreach/For Eachステートメントで要素を列挙することもできます。
そのため、重複する値が単一の要素として扱われる以外は、他のコレクションクラスと同様に扱うことができます。 また、SortedSetでは自動的に並べ替えが行われる点を除けば、動作と結果もHashSetと同じです。
HashSetでの要素の追加・削除・検索
using System;
using System.Collections.Generic;
class Sample {
static void Main()
{
var s = new HashSet<int>() {3, 1, 6, 4, 0};
Console.WriteLine(string.Join(", ", s));
// 要素を追加
s.Add(2);
Console.WriteLine(string.Join(", ", s));
// 要素を削除
s.Remove(6);
Console.WriteLine(string.Join(", ", s));
// 値5が含まれているか
Console.WriteLine("Contains 5? {0}", s.Contains(5));
}
}
実行結果
3, 1, 6, 4, 0 3, 1, 6, 4, 0, 2 3, 1, 4, 0, 2 Contains 5? False