का उपयोग करके कस्टम संग्रह मुझे अपनी खुद की कस्टम GenericCollection
कक्षा को डिज़ाइन करने की आवश्यकता है। अब मेरे पास IEnumerable
, ICollection
, और IList
का उपयोग करके इसे प्राप्त करने के लिए बहुत सारे विकल्प हैं, जहां बाद में कुछ अतिरिक्त कार्यक्षमताएं प्रदान की जाती हैं।आईएनयूमेरेबल बनाम आईसीओलेक्शन बनाम आईएलआईस्ट
मुझे थोड़ा उलझन में है कि अगर मैं IEnumerable<T>
के साथ जाता हूं तो मुझे ऑब्जेक्ट को इस मामले में _list
जैसे संग्रह को रखने की आवश्यकता हो सकती है।
public class GenericCollection<T> : IEnumerable<T>
{
private List<T> _list;
//...
}
लेकिन अगर मैं ICollection<T>
या IList<T>
साथ जाना, मैं List
वस्तु घोषित करने के लिए की आवश्यकता नहीं है के रूप में यह परोक्ष उपलब्ध है।
public class GenericCollection<T> : IList<T>
{
// no need for List object
//private List<T> _list;
//...
}
प्रदर्शन के संबंध में इन दो दृष्टिकोणों के बीच क्या अंतर है?
किस परिदृश्य में प्रत्येक को प्राथमिकता दी जाती है, खासकर जब यह आपके स्वयं के संग्रह को डिजाइन करने की बात आती है। मुझे अच्छे प्रदर्शन के साथ हल्के वजन संग्रह में रूचि है। मुझे लगता है कि यह IEnumerable<T>
का उपयोग करके हासिल किया जा सकता है लेकिन इसके साथ जाने के कुछ मजबूत कारणों के साथ कैसे?
मैंने कुछ मौजूदा पोस्ट की समीक्षा की है लेकिन कोई भी आवश्यक जानकारी नहीं दे रहा है।
Returning 'IList' vs 'ICollection' vs 'Collection'
आपको पहले उदाहरण में _list सदस्य होने की आवश्यकता नहीं है। इसके अलावा, आपको अभी भी आईएलिस्ट –