एक वापसी पैरामीटर प्रकार या इनपुट पैरामीटर प्रकार के रूप में IEnumerable<T>
बनाम IReadOnlyList<T>
चुनने के बीच क्या अंतर है?IEnumerable <T> बनाम IReadOnlyList <T>
IEnumerable<T>
.Count
और .ElementAt
है जो क्या द्वारा IReadOnlyList<T>
एक वापसी पैरामीटर प्रकार या इनपुट पैरामीटर प्रकार के रूप में IEnumerable<T>
बनाम IReadOnlyList<T>
चुनने के बीच क्या अंतर है?IEnumerable <T> बनाम IReadOnlyList <T>
IEnumerable<T>
.Count
और .ElementAt
है जो क्या द्वारा IReadOnlyList<T>
IEnumerable<T>
सामने आ रहा है का प्रतिनिधित्व करता है एक-केवल आगे कुछ डेटा पर कर्सर प्रदान करता है। आप संग्रह के प्रारंभ से अंत तक जा सकते हैं, एक समय में एक आइटम को देख सकते हैं।
IReadOnlyList<T>
एक पठनीय यादृच्छिक अभिगम संग्रह का प्रतिनिधित्व करता है।
IEnumerable<T>
अधिक सामान्य है, जिसमें यह फ्लाई पर उत्पन्न वस्तुओं का प्रतिनिधित्व कर सकता है, नेटवर्क पर आने वाले डेटा, डेटाबेस से पंक्तियां इत्यादि। IReadOnlyList<T>
दूसरी ओर मूल रूप से केवल स्मृति-संग्रह संग्रह का प्रतिनिधित्व करता है।
यदि आपको केवल एक बार प्रत्येक आइटम को देखने की आवश्यकता है, तो IEnumerable<T>
बेहतर विकल्प है - यह अधिक सामान्य है।
मैं वास्तव में सी ++ मानक टेम्पलेट लाइब्रेरी को देखने की अनुशंसा करता हूं - विभिन्न प्रकार के पुनरावृत्तियों की उनकी चर्चा वास्तव में आपके प्रश्न के लिए बहुत अच्छी तरह से मानचित्र बनाती है।