2011-12-08 12 views
7

मैं .net 3.5 के साथ काम कर रहा हूँ, और मैं इस है:मैं एक सॉर्टेडलिस्ट <int, T> से सूची <T> कैसे बना सकता हूं?

SortedList<int, BrainTickTransition> 

और मैं इनमें से एक हैं:

List<BrainTickTransition> 

वहाँ एक त्वरित तरीका सब कॉपी करने के लिए बिना यह करने के लिए है सॉर्टेडलिस्ट से मूल्यों का?

+0

सॉर्टेडलिस्ट पर विचार करें। मूल्य संपत्ति। –

+0

मेरे पास एक डाटाकंट्रैक्ट है जो एक सूची को क्रमबद्ध करता है, यही कारण है कि मुझे सूची की आवश्यकता है। – Almo

उत्तर

11

मूल्यों की प्रतिलिपि बनाने की आवश्यकता है, क्योंकि List<TValue> और SortedList<TKey,TValue> के बीच मेमोरी साझा करने का कोई तरीका नहीं है।

मैं तुम्हें एक List<TValue> मूल्यों से युक्त चाहते मान कुंजी है, जो आप के साथ कर सकते के बारे में देखभाल के बिना:

sortedList.Values.ToList(); 

लेकिन अगर आप की जरूरत है एक IList<TValue> (के रूप में ठोस वर्ग List<TValue> के खिलाफ) आप कर सकते हैं सीधे Values संपत्ति का उपयोग करें और इस प्रकार एक प्रतिलिपि बनाने से बचें।

बेशक ये समाधान उनके संग्रह में भिन्न होते हैं जब मूल संग्रह संशोधित हो जाता है। List<TValue> प्रतिलिपि परिवर्तनों को प्रतिबिंबित नहीं करेगी, जबकि IList<TValue>Values संपत्ति द्वारा संदर्भित, परिवर्तनों को प्रतिबिंबित करेगी, भले ही आप इसे किसी अन्य चर में असाइन करें।

+0

ऐसा लगता है कि यह है, धन्यवाद। टाइमर खत्म होने के बाद उत्तर स्वीकार किया गया। :) – Almo

+4

गरीब, गरीब 'नई सूची (sortedList.Values) '। कोई भी इसके साथ खेलना चाहता है। :-) – Jon

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