IEnumerable<T>
कई अलग अलग तरीके है कि बातें का एक सेट संग्रहित किया जा सकता है, एक सूची में, किसी सरणी में, एक डेटाबेस में आदि एक बात यह है कि इन भंडारण तंत्र आम में है वह यह है कि चीजों का सेट आयोजित किया जा सकता है अंकित, उदाहरण के लिए foreach
जैसे भाषा निर्माण का उपयोग करके प्रत्येक को एक दूसरे के बाद एक्सेस किया जा सकता है।
IEnumerable<T>
इंटरफ़ेस उस सामान्य इंटरफ़ेस का प्रतिनिधित्व करता है कि चीजों के सभी धारकों को गणना सक्षम करना है।इसलिए IEnumberable<Person
एक इंटरफ़ेस का प्रतिनिधित्व करता है जो Person
ऑब्जेक्ट्स के सेट की गणना को वास्तविक तरीके से निर्दिष्ट किए बिना वास्तविक वस्तुओं के विशिष्ट होने के बिना अनुमति देता है।
IQueryable<T>
यह IEnumerable<T>
के लिए एक विस्तार है, लेकिन कुछ LINQ के लिए विशिष्ट प्रतिनिधित्व करता है। LINQ में आप क्वेरी निर्दिष्ट कर सकते हैं जो आइटमों के सेट (या सेट) को फ़िल्टर और ट्रांसफ़ॉर्म कर सकते हैं। पूरी तरह से IEnumerable<T>
इंटरफ़ेस के खिलाफ इसे ऑब्जेक्ट्स के लिए LINQ के रूप में जाना जाएगा, जिसमें क्वेरी में प्रत्येक चरण अंततः एक्सटेंशन विधि के लिए एक साधारण कॉल है।
हालांकि IQueryable<T>
लागू करने वाली किसी ऑब्जेक्ट के विरुद्ध चीजें अधिक परिष्कृत हो सकती हैं। IQueryable<T>
को लागू करने वाली ऑब्जेक्ट को एक अलग LINQ प्रदाता से जोड़ा जा सकता है जो LINQ क्वेरी के निष्पादन को एक अलग तरीके से कार्यान्वित कर सकता है। उदाहरण के लिए IQueryable<Person>
LINQ-To-SQL प्रदाता से जुड़े एक प्रकार द्वारा कार्यान्वित किया जा सकता है। इस मामले में एक LINQ क्वेरी को आइटम्स का एक सेट प्राप्त करने के लिए डेटाबेस के विरुद्ध निष्पादित टी-एसक्यूएल क्वेरी में परिवर्तित किया जाता है (परिणाम आवश्यक रूप से Person
ऑब्जेक्ट्स का सेट नहीं हो सकता है)।
आईनेमरेबल एक नेट प्रकार है, ओओपी शब्द – Gishu
बीटीडब्ल्यू नहीं है, यह ओओपी (ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग) ओओपीएस नहीं है। हालांकि मैंने इसे ठीक करने के लिए संपादित किया है। – Aamir
@ आमिर आप सही हैं। मैं अर्थपूर्ण प्रसार की मांग करता हूं :) - हालांकि यदि आप एलन के और कुछ अन्य प्रतिष्ठित लोगों से पूछते हैं, तो ओओपीएस यह क्या है जो इसके लिए उपयुक्त है। – Gishu