56

理想的には、テンプレート化された論理 Set クラスを探しています。ユニオン、インターセクションなどの標準的なセット操作がすべて含まれ、重複したアイテムを折りたたむことができます。

キーを使用するだけで、C# Dictionary<> に基づいて独自のセット クラスを作成することになりました。

4

6 に答える 6

49

HashSet<T>が一番近いと思います。

于 2008-08-13T23:05:20.457 に答える
15

私が見た中で最高のセットの実装は、すばらしい Wintellect の Power Collections の一部です: http://www.codeplex.com/PowerCollections

セットの実装は次の場所にあります:
http://www.codeplex.com/PowerCollections/SourceControl/FileView.aspx?itemId=101886&changeSetId=6259
予想されるすべてのセット操作 (結合、交差など) があります。

お役に立てれば!

于 2008-08-13T23:44:59.063 に答える
10

3.5でHashSetをチェックアウトしましたか?

于 2008-10-14T04:05:00.453 に答える
10

いいえ、フレームワークにネイティブにはありません。ほとんどのプロジェクトが使用するオープン ソースの実装 (つまり、nHibernate) があり、Iesi.Collections と呼ばれます。これに関するCodeProjectの記事は次のとおりです。

http://www.codeproject.com/KB/recipes/sets.aspx

于 2008-08-13T23:08:53.973 に答える
6

C# には何も組み込まれていないと思いますが、いくつかの実装がネット上に出回っていることは知っています。この種のことについては、いくつかの優れた記事もあります。

これは、データ構造を効率的に表現するシリーズのパート 6です。このパートでは、C# でのセットの表現に焦点を当てます。

セットコレクション
の実装セットクラスの実装セットクラスの
さらに別の実装

そして最後に...

私は実際に、1年ほど前に行った一連の実装の基礎として、このライブラリを自分で使用しました。

于 2008-08-13T23:17:00.557 に答える