2


1

.NET 2.0に集合型はありますか?

*複製:*これは "https://stackoverflow.com/questions/10458/is-there-a-set-data-structure-in-netの複製です。[.Net]には" Set "データ構造がありますか。 ] "。 それを重複して閉じて、先の質問に対するそれ以上の答えに答えてください。

NETフレームワークのSTL `+ set +`テンプレートに類似した汎用コレクションはありますか?

そうでない場合は、どのようにしてユニークな文字列の順序付けられていないコレクションを実装しますか? `+ Dictionary +`を使用してキーを使用することもできますが、それはちょっと臭いです。

編集:申し訳ありませんが、私はこれが.NET 2.0用であることを指定したはずです

6 Answer


8


NET3.5までは、いいえ(これらの基本を追加するのに長い時間がかかった理由を聞かないでください。 (まだヒープクラスはありません。 .NETコレクションクラスは意外にも劣っています)。
3.5では、 `+ HashSet `があります。 それはTR1の ` unordered_set `に似ていますが、それは ` std

set `ではなく、 ` std :: set +`が内部的にツリー構造を使用しているという点で、順不同です。

もちろん、これらの欠点を修正するために提供しているサードパーティのライブラリがいくつかあります。

私は以前にhttp://www.itu.dk/research/c5/[C5](Pratikによって示唆されたように)を見ました、しかしそれを決して使いませんでした。 しかし、それはかなり良い品質のように思われ、そしてSetクラスを持っています。


4


ハッシュセットコレクションクラスが他にもたくさんある The C5 Generic Collection Libraryを提案できます。


1


http://msdn.microsoft.com/en-us/library/bb359438.aspx[HashSetクラス]


1


あなたの質問に対する答えはイエスです。 最も一般的に使用されている.NET用のSTLと同等のコレクションの種類については、Jeff Richterの素晴らしい Power Collectionsライブラリを参照してください。 無関係なメモで彼はまた Power Threadingライブラリを持っています


0


http://msdn.microsoft.com/en-us/library/bb359438.aspx [+ HashSet +]コレクションをご覧ください。


0