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

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

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

HashSet

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

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

var hash = new HashSet<int> ();
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<int> ();
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


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

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

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

Amazonで詳しく見る

Related Posts Plugin for WordPress, Blogger...