c# - सूची और IEnumerable के बीच व्यावहारिक अंतर




.net list (2)

IEnumerable और List के बीच एक महत्वपूर्ण अंतर (एक इंटरफ़ेस होने के अलावा और दूसरा एक ठोस वर्ग है) यह है कि IEnumerable केवल-पढ़ने के लिए है और सूची नहीं है।

इसलिए यदि आपको अपने संग्रह में किसी भी प्रकार के स्थायी परिवर्तन करने की क्षमता की आवश्यकता है (जोड़ें और निकालें), तो आपको सूची की आवश्यकता होगी। यदि आपको अपने संग्रह को पढ़ने, छाँटने और / या फ़िल्टर करने की आवश्यकता है, तो IEnumerable उस उद्देश्य के लिए पर्याप्त है।

इसलिए आपके व्यावहारिक उदाहरण में, यदि आप एक बार में चार तार जोड़ना चाहते हैं, तो आपको सूची की आवश्यकता होगी। लेकिन अगर आप एक ही बार में अपने संग्रह को तुरंत शुरू कर रहे थे, तो आप IEnumerable का उपयोग कर सकते हैं।

IEnumerable firstFourLettersOfAlphabet = new[]{"a","b","c","d"};

फिर आप जिस सूची को चाहते थे उसे छानने या छांटने के लिए LINQ का उपयोग कर सकते हैं।

इस प्रश्न का पहले से ही यहाँ एक उत्तर है:

इसी तरह की पोस्ट पढ़ने से मुझे पता चला है कि एक सूची IEnumerable का एक प्रकार है। लेकिन मैं वास्तव में सोच रहा हूं कि वास्तव में उन दोनों के बीच व्यावहारिक अंतर क्या है।

उन लोगों के लिए जिन्होंने हमेशा एक सूची का उपयोग किया है और कभी भी IEnumerable का उपयोग नहीं किया है:

  • दोनों के बीच व्यावहारिक अंतर क्या है?
  • किन परिदृश्यों में उनमें से एक दूसरे से बेहतर है?

यहां एक व्यावहारिक उदाहरण है : हम चार तारों को स्टोर करना चाहते हैं, उन्हें वर्णानुक्रम में क्रमबद्ध करते हैं, उन्हें दूसरे फ़ंक्शन में पास करते हैं और फिर उपयोगकर्ता को परिणाम दिखाते हैं। हम क्या उपयोग करेंगे और क्यों?

उम्मीद है कि कोई मेरे लिए इसे सुलझा सकता है या मुझे सही दिशा में ले जा सकता है। अग्रिम में धन्यवाद!


सूची के अलावा अन्य कई प्रकार IEnumerable को लागू करते हैं जैसे कि एक ArrayList। तो एक फायदा यह है कि आप एक ही फ़ंक्शन में विभिन्न संग्रह प्रकार पास कर सकते हैं।





ienumerable