【C#】君は要素の重複を防ぐ HashSetクラスを知っているか

C#の便利な機能と言えばジェネリックがあると思います。 普段はListやDictionayを利用しているのですが、今回は HashSetクラスを紹介します。

HashSet

HashSetに関しては、Listと同じように、指定された型を格納できるクラスです。 機能は「 要素の重複を防ぐ」です。

使い方もListと同じ感じなんのですが、同じ要素の重複を防いでくれます。 コレクションを使いたいけど、値の重複は避けたい場合に使うことができます。

[c] var hash = new HashSet (); hash.Add (1); hash.Add (2); hash.Add (3); hash.Add (1);

foreach (var i in hash) { Debug.LogError ("HashSet[値]:" + i); } // HashSet[値]:1 // HashSet[値]:2 // HashSet[値]:3

var list = new List (); list.Add (1); list.Add (2); list.Add (3); list.Add (1);

foreach (var i in list) { Debug.LogError ("List[値]:" + i); }

// List[値]:1 // List[値]:2 // List[値]:3 // List[値]:1

[/c]

【参考】 HashSet(T) クラス (System.Collections.Generic)

C# 6 実践的プログラミング[入門]講座C# 6 実践的プログラミング[入門]講座
川俣晶

技術評論社
売り上げランキング : 27214

Amazonで詳しく見る