2010-04-17 26 views
13

मैं एक कंटेनरक्या सी # में std :: set के बराबर है?

StdStyleSet<A> 

class A : IComparable<A> { ... } 

जो एसटीडी के गुणों को संतुष्ट करता है के

:: सेट करना चाहते हैं। यह विशेष रूप से होगा:

  • तत्वों themselve कुंजी
  • स्वचालित रूप से प्रविष्टि

उत्तर

14

SortedSet<T> पर हल कर रहे हैं: documents देखते हैं - हालांकि तकनीकी रूप से, यह .NET फ्रेमवर्क में है।

पिछले संस्करणों के लिए, आप एक हैशसेट का उपयोग कर सकते हैं और LINQ का उपयोग करके सॉर्ट कर सकते हैं, आदर्श नहीं यदि आप मुख्य रूप से ऑर्डर किए गए फैशन में सेट का उपभोग कर रहे हैं। वैकल्पिक रूप से आप SortedDictionary<TKey,TValue> का उपयोग Object के साथ मूल्य के साथ कर सकते हैं और अपने तत्वों को कुंजियों के साथ कुंजियों में स्टोर कर सकते हैं।

+3

यह .NET 4 में है .. उन्हें काफी समय लगा। –

+0

अच्छा! तो पिछले संस्करणों के लिए कोई समाधान नहीं है? – Danvil

+2

@ डेनविल - आप एक हैशसेट का उपयोग कर सकते हैं और LINQ के साथ किसी भी सॉर्टिंग को संभाल सकते हैं, या एक सॉर्टेड डिक्शनरी और स्टोर के लिए स्टोर नल का उपयोग कर सकते हैं, यानी, केवल चाबियों का उपयोग करें। – tvanfosson

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