2009-07-25 9 views
2

Mögliche Duplizieren:
Is there a “Set” data structure in .Net?Gibt es einen Set-Typ in .NET 2.0?

Duplizieren: dies ist ein Duplikat "Is there a “Set” data structure in .Net?". Bitte schließen Sie es als Duplikat und adressieren Sie weitere Antworten auf die frühere Frage.

Gibt es eine generische Sammlung analog zur STL set<T> Vorlage im .NET Framework?

Wenn nicht, wie würden Sie eine nicht geordnete Sammlung von eindeutigen Zeichenketten implementieren? Ich nehme an, ich könnte Dictionary<string, int> verwenden und nur die Tasten verwenden, aber das fühlt sich irgendwie stinkend an.

EDIT: sorry, ich habe angegeben, dass dies für .NET 2,0

Antwort

8

Bis NET3.5, keine (fragen Sie mich nicht, warum es ihnen so lange gedauert hat, hinzugefügt diese Grundlagen zu erhalten. (Es gibt noch keine Heap-Klasse, afaik. Die .NET-Collection-Klassen sind überraschend glanzlos).

in 3.5 haben Sie HashSet<T>. es ist mehr wie der TR1 unordered_set als std::set in aber, dass es ungeordnete, wo std::set intern eine Baumstruktur verwendet.

natürlich gibt es bietet mehrere Bibliotheken von Drittanbietern, diese Mängel zu beheben

Ich habe l hokus an (wie von Pratik vorgeschlagen) zuvor, aber nie benutzt. Aber es scheint eine ziemlich gute Qualität zu sein und hat eine Set-Klasse.

0

ist Sie einen Blick auf die HashSet<T> Sammlung nehmen.

0

Seit .net 3.5 gibt es die HashSet<T>, die ein Set implementiert. Ich bin mir nicht sicher, ob es C++ vollständig entspricht.

1

Die Antwort auf Ihre Frage ist JA. Schauen Sie sich die erstaunliche Power Collections-Bibliothek von Jeff Richter für einige der am häufigsten verwendeten STL-äquivalenten Sammlungstypen für .NET an. Auf eine nicht verwandte Anmerkung hat er auch eine Power Threading Bibliothek

+0

Sie schlagen mich! Ich habe meine Antwort bei Power Collections gelöscht. Ich bin Abhijeet, der denkt, dass Power Collections die Bibliothek ist, nach der Sie suchen. –

+0

Ha! :-) BTW Richter rockt! –

Verwandte Themen