2008-08-13 13 views
37

आदर्श रूप में, मैं एक टेम्पलेट लॉजिकल सेट क्लास की तलाश में हूं। इसमें यूनियन, छेड़छाड़, इत्यादि जैसे सभी मानक सेट ऑपरेशंस होंगे, और डुप्लीकेट किए गए आइटम पतन होंगे।क्या नेट में "सेट" डेटा संरचना है?

मैंने सी # डिक्शनरी <> पर आधारित अपनी खुद की सेट क्लास तैयार की - बस कुंजी का उपयोग कर।

+0

नेट ईमानदारी से सेट संग्रह नहीं है? कितनी बड़ी निराशा होती है। जावा के लिए एक और फायदा। –

+0

@ d03boy: ठीक है इसमें हैशसेट है, लेकिन इसका उपयोग करने के बाद मुझे लगता है कि इंटरफ़ेस वास्तव में बेकार है। – Skurmedel

+3

.NET 4 में दो कार्यान्वयन, हैशसेट और सॉर्टेडसेट –

उत्तर

36

HashSet<T> आपको लगता है कि निकटतम के बारे में है, मुझे लगता है।

+0

मैट, +1 के साथ एक आईसेट इंटरफ़ेस है। ऐसा लगता है कि उसने क्या पूछा। ऐसा लगता है कि कोडप्रोजेक्ट आलेख लिखा गया था के बाद लंबे समय तक जोड़ा गया था। –

10

नहीं, ढांचे में एक मूल रूप से नहीं है। एक ओपन सोर्स कार्यान्वयन है जो अधिकांश परियोजनाओं का उपयोग करता है, (यानी nHibernate) Iesi.Collections कहा जाता है। यहाँ इसके बारे में एक CodeProject लेख है:

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

6

मैं सी # में बनाया कुछ भी नहीं लगता है, लेकिन मुझे पता है कि नेट पर चारों ओर चल कार्यान्वयन के एक जोड़े हैं। इस तरह की चीज़ों के आस-पास कुछ अच्छे लेख भी हैं:

This is part 6 कुशलतापूर्वक डेटा संरचना का प्रतिनिधित्व करने वाली श्रृंखला के एक श्रृंखला के। यह हिस्सा सी # में सेट का प्रतिनिधित्व करने पर केंद्रित है।

एक सेट संग्रह
एक सेट वर्ग
एक सेट वर्ग

और अंत में ...

मैं वास्तव में अपने आप को this library एक सेट कार्यान्वयन के आधार के रूप में उपयोग किया है की Yet another implementation की An implementation की An implementation कि मैंने एक साल या उससे पहले किया था।

15

मैंने देखा है कि सबसे अच्छा सेट कार्यान्वयन अद्भुत विंटलेलेक्ट पावर कलेक्शन का हिस्सा है: http://www.codeplex.com/PowerCollections

सेट कार्यान्वयन यहां पाया जा सकता:
http://www.codeplex.com/PowerCollections/SourceControl/FileView.aspx?itemId=101886&changeSetId=6259
यह सब उम्मीद सेट कार्य किया है (संघ, एक दूसरे को काटना, आदि)।

आशा है कि इससे मदद मिलती है!

संबंधित मुद्दे