LINQ - क्वेरी ऑपरेटर्स

विस्तार विधियों के एक सेट को एक क्वेरी पैटर्न बनाते हैं, जिसे LINQ Standard Query Operators के रूप में जाना जाता है। LINQ क्वेरी अभिव्यक्तियों के ब्लॉक के निर्माण के रूप में, ये ऑपरेटर फ़िल्टरिंग, सॉर्टिंग, प्रोजेक्शन, एग्रीगेशन आदि जैसे क्वेरी क्षमताओं की एक श्रृंखला प्रदान करते हैं।

LINQ मानक क्वेरी ऑपरेटरों को उनकी कार्यक्षमता के आधार पर निम्नलिखित में वर्गीकृत किया जा सकता है।

  • फ़िल्टरिंग ऑपरेटर
  • संचालकों में शामिल हों
  • प्रोजेक्शन ऑपरेशन
  • छँटाई करने वाले संचालक
  • समूह संचालक
  • Conversions
  • Concatenation
  • Aggregation
  • मात्रात्मक संचालन
  • विभाजन संचालन
  • जनरेशन ऑपरेशन
  • संचालन सेट करें
  • Equality
  • तत्व संचालक

फ़िल्टरिंग ऑपरेटर

फ़िल्टरिंग परिणाम सेट को प्रतिबंधित करने के लिए एक ऑपरेशन है जैसे कि यह केवल चयनित तत्वों को किसी विशेष स्थिति को संतुष्ट करता है।

उदाहरण दिखाएं

ऑपरेटर विवरण सी # क्वेरी एक्सप्रेशन सिंटैक्स VB क्वेरी अभिव्यक्ति सिंटैक्स
कहाँ पे एक समर्पित फ़ंक्शन के आधार पर फ़िल्टर मान कहाँ पे कहाँ पे
OfType एक निर्धारित प्रकार के रूप में उनकी क्षमता के आधार पर फ़िल्टर मान लागू नहीं लागू नहीं

संचालकों में शामिल हों

जुड़ने से तात्पर्य एक ऐसे ऑपरेशन से है जिसमें डेटा स्रोतों को एक दूसरे के साथ संबंधों को सीधे तरीके से पालन करना मुश्किल हो जाता है।

उदाहरण दिखाएं

ऑपरेटर विवरण सी # क्वेरी एक्सप्रेशन सिंटैक्स VB क्वेरी अभिव्यक्ति सिंटैक्स
शामिल हों ऑपरेटर मिलान कुंजी के आधार पर दो अनुक्रमों में शामिल होता है ... में शामिल होने पर ... के बराबर ... X में… से, y में… जहाँ xa = ya है
GroupJoin दो अनुक्रमों को मिलाएं और मिलान तत्वों को समूहित करें … में… पर… बराबर… समूह में शामिल होने पर… में…

प्रोजेक्शन ऑपरेशन

प्रोजेक्शन एक ऑपरेशन है जिसमें एक ऑब्जेक्ट को केवल विशिष्ट गुणों के साथ एक बिल्कुल नए रूप में बदल दिया जाता है।

उदाहरण दिखाएं

ऑपरेटर विवरण सी # क्वेरी एक्सप्रेशन सिंटैक्स VB क्वेरी अभिव्यक्ति सिंटैक्स
चुनते हैं ऑपरेटर एक ट्रांसफ़ॉर्म फ़ंक्शन के आधार पर मूल्यों को प्रोजेक्ट करता है चुनते हैं चुनते हैं
SelectMany ऑपरेटर उन मानों के अनुक्रमों को प्रोजेक्ट करता है जो एक ट्रांसफ़ॉर्मेशन फ़ंक्शन पर आधारित होते हैं और साथ ही उन्हें एक सीक्वेंस में समतल करते हैं खंडों से कई का उपयोग करें खंड से एकाधिक का उपयोग करें

छँटाई करने वाले संचालक

एक सॉर्टिंग ऑपरेशन एक एकल या अधिक विशेषताओं के आधार पर एक अनुक्रम के तत्वों को आदेश देने की अनुमति देता है।

उदाहरण दिखाएं

ऑपरेटर विवरण सी # क्वेरी एक्सप्रेशन सिंटैक्स VB क्वेरी अभिव्यक्ति सिंटैक्स
द्वारा आदेश ऑपरेटर एक बढ़ते क्रम में मूल्यों को क्रमबद्ध करता है द्वारा आदेश द्वारा आदेश
OrderByDescending ऑपरेटर एक अवरोही क्रम में मूल्यों को क्रमबद्ध करता है आदेश ... अवरोही आदेश द्वारा ... अवरोही
तब तक एक आरोही क्रम में एक द्वितीयक छँटाई निष्पादित करता है द्वारा आदेश …, … द्वारा आदेश …, …
ThenByDescending एक अवरोही क्रम में एक द्वितीयक छँटाई निष्पादित करता है आदेश ..., उतरते हुए ऑर्डर बाय…, अवरोही
उलटना एक संग्रह में तत्वों के क्रम का उलटा प्रदर्शन करता है लागू नहीं लागू नहीं

समूह संचालक

ऑपरेटर कुछ समूहों में एक साझा साझा विशेषता के आधार पर डेटा डालते हैं।

उदाहरण दिखाएं

ऑपरेटर विवरण सी # क्वेरी एक्सप्रेशन सिंटैक्स VB क्वेरी अभिव्यक्ति सिंटैक्स
समूह द्वारा समूहों में आइटम के एक क्रम को व्यवस्थित करें और उन्हें आईजीग्रुपिंग <कुंजी, तत्व> प्रकार के IEnumerable संग्रह के रूप में लौटाएं समूह ... द्वारा -or- समूह ... द्वारा ... में ... समूह ... द्वारा ... में ...
देखने के लिए एक समूहीकरण ऑपरेशन निष्पादित करें जिसमें महत्वपूर्ण जोड़े का एक क्रम वापस आ गया है लागू नहीं लागू नहीं

रूपांतरण

ऑपरेटर इनपुट ऑब्जेक्ट के प्रकार को बदलते हैं और विभिन्न अनुप्रयोगों में उपयोग किया जाता है।

उदाहरण दिखाएं

ऑपरेटर विवरण सी # क्वेरी एक्सप्रेशन सिंटैक्स VB क्वेरी अभिव्यक्ति सिंटैक्स
AsEnumerable IEnumerable <T> के रूप में टाइप किया गया इनपुट लौटाता है लागू नहीं लागू नहीं
AsQueryable A (जेनेरिक) IEnumerable एक (जेनेरिक) IQueryable में परिवर्तित हो जाता है लागू नहीं लागू नहीं
कास्ट एक संग्रह के तत्वों की एक निर्दिष्ट प्रकार से कास्टिंग करता है स्पष्ट रूप से टाइप की गई श्रेणी चर का उपयोग करें। जैसे: शब्दों में स्ट्रिंग स्ट्रिंग से से ... के रूप में ...
OfType एक विशेष प्रकार के लिए डाली जाने वाली उनकी क्षमता के आधार पर, उनके आधार पर फ़िल्टर मूल्य लागू नहीं लागू नहीं
toArray फोर्सेस क्वेरी को निष्पादित करता है और संग्रह के रूपांतरण को एक अरै में परिवर्तित करता है लागू नहीं लागू नहीं
ToDictionary एक कुंजी चयनकर्ता फ़ंक्शन के आधार पर एक शब्दकोश <TKey, TValue> और LINQ क्वेरी के निष्पादन को लागू करता है लागू नहीं लागू नहीं
सूची बनाने के लिए एक सूची <T> के लिए एक संग्रह में परिवर्तित करके एक क्वेरी के निष्पादन को मजबूर करता है लागू नहीं लागू नहीं
देखने के लिए एक क्वेरी के निष्पादन को मजबूर करता है और तत्वों को एक मुख्य चयनकर्ता फ़ंक्शन के आधार पर एक लुकअप <TKey, Telement> में डाल देता है लागू नहीं लागू नहीं

कड़ी

दो अनुक्रमों का संघटन करता है और इसके संचालन के संदर्भ में संघ संचालक के समान है, सिवाय इस तथ्य के कि यह डुप्लिकेट को नहीं हटाता है।

उदाहरण दिखाएं

ऑपरेटर विवरण सी # क्वेरी एक्सप्रेशन सिंटैक्स VB क्वेरी अभिव्यक्ति सिंटैक्स
concat एक एकल अनुक्रम के गठन के लिए दो अनुक्रमों को समतल किया जाता है। लागू नहीं लागू नहीं

एकत्रीकरण

किसी भी प्रकार के वांछित एकत्रीकरण करता है और LINQ में कस्टम एकत्रीकरण बनाने की अनुमति देता है।

उदाहरण दिखाएं

ऑपरेटर विवरण सी # क्वेरी एक्सप्रेशन सिंटैक्स VB क्वेरी अभिव्यक्ति सिंटैक्स
कुल कस्टम एकत्रीकरण ऑपरेशन करने के लिए एक संग्रह के मूल्यों पर कार्य करता है लागू नहीं लागू नहीं
औसत मूल्यों के संग्रह के औसत मूल्य की गणना की जाती है लागू नहीं औसत… औसत में…
गिनती संग्रह के भीतर एक विधेय समारोह को संतुष्ट करने वाले तत्वों को गिना जाता है लागू नहीं अलग… में… गणना में ()
LonCount एक विशाल संग्रह के भीतर एक विधेय समारोह को संतुष्ट करने वाले तत्वों को गिना जाता है लागू नहीं अलग… में… में LongCount ()
मैक्स एक संग्रह के भीतर अधिकतम मूल्य का पता लगाएं लागू नहीं अधिकतम… में… अधिकतम ()
मिनट एक संग्रह के भीतर मौजूद न्यूनतम मूल्य का पता लगाएं लागू नहीं अलग ... मिन में ()
योग संग्रह के भीतर मानों का योग ज्ञात कीजिए लागू नहीं एकत्र… में… में ()

मात्रात्मक संचालन

ये ऑपरेटर एक बूलियन मान लौटाते हैं अर्थात सही या गलत जब एक अनुक्रम के भीतर कुछ या सभी तत्व एक विशिष्ट स्थिति को संतुष्ट करते हैं।

उदाहरण दिखाएं

ऑपरेटर विवरण सी # क्वेरी एक्सप्रेशन सिंटैक्स VB क्वेरी अभिव्यक्ति सिंटैक्स
सब यदि कोई अनुक्रम के सभी तत्व एक विधेय स्थिति को संतुष्ट करते हैं, तो 'True' लौटाता है लागू नहीं सकल… में… सभी में (…)
कोई भी एक अनुक्रम की खोज करके निर्धारित करता है कि क्या उसी का कोई तत्व एक निर्दिष्ट स्थिति को संतुष्ट करता है लागू नहीं अलग ... किसी में ()
शामिल एक 'ट्रू' मान लौटाता है अगर पाता है कि एक विशिष्ट तत्व अनुक्रम में है, यदि अनुक्रम में वह विशिष्ट तत्व नहीं है, तो 'गलत' मान वापस आ जाता है लागू नहीं लागू नहीं

विभाजन संचालक

अनुक्रम के तत्वों को फिर से व्यवस्थित किए बिना और फिर उनमें से एक को वापस किए बिना एक इनपुट अनुक्रम को दो अलग-अलग वर्गों में विभाजित करें।

उदाहरण दिखाएं

ऑपरेटर विवरण सी # क्वेरी एक्सप्रेशन सिंटैक्स VB क्वेरी अभिव्यक्ति सिंटैक्स
छोड़ें एक अनुक्रम में कुछ निर्दिष्ट तत्वों को छोड़ देता है और शेष को वापस कर देता है लागू नहीं छोड़ें
SkipWhile केवल उस अपवाद के साथ छोड़ें जैसा कि छोड़ने के लिए तत्वों की संख्या बूलियन स्थिति द्वारा निर्दिष्ट की गई है लागू नहीं जबकि छोड़ें
लेना एक अनुक्रम से तत्वों की एक निर्दिष्ट संख्या लें और शेष लोगों को छोड़ दें लागू नहीं लेना
TakeWhile के रूप में ही ले लो तथ्य यह है कि लेने के लिए तत्वों की संख्या एक बूलियन शर्त द्वारा निर्दिष्ट कर रहे हैं लागू नहीं ले लो

जनरेशन ऑपरेशन

मूल्यों का एक नया अनुक्रम जनरेशनल ऑपरेटरों द्वारा बनाया गया है।

उदाहरण दिखाएं

ऑपरेटर विवरण सी # क्वेरी एक्सप्रेशन सिंटैक्स VB क्वेरी अभिव्यक्ति सिंटैक्स
DefaultIfEmpty जब एक खाली अनुक्रम पर लागू किया जाता है, तो एक अनुक्रम में एक डिफ़ॉल्ट तत्व उत्पन्न करता है लागू नहीं लागू नहीं
खाली मूल्यों का एक खाली क्रम लौटाता है और सबसे सरल जनरेशनल ऑपरेटर है लागू नहीं लागू नहीं
रेंज एक संग्रह बनाता है जिसमें पूर्णांक या संख्याओं का क्रम होता है लागू नहीं लागू नहीं
दोहराना एक अनुक्रम बनाता है जिसमें एक विशिष्ट लंबाई के दोहराया मान होते हैं लागू नहीं लागू नहीं

संचालन सेट करें

सेट परिचालनों के लिए चार ऑपरेटर हैं, प्रत्येक अलग-अलग मानदंडों के आधार पर परिणाम देता है।

उदाहरण दिखाएं

ऑपरेटर विवरण सी # क्वेरी एक्सप्रेशन सिंटैक्स VB क्वेरी अभिव्यक्ति सिंटैक्स
अलग यदि कोई डुप्लिकेट डेटा फ़िल्टर करके संग्रह से अद्वितीय मानों की सूची देता है लागू नहीं अलग
के सिवाय दो संग्रह के मूल्यों की तुलना करता है और एक संग्रह से उन लोगों को लौटाता है जो दूसरे संग्रह में नहीं हैं लागू नहीं लागू नहीं
इंटरसेक्ट पाया गया मानों का समूह दो अलग-अलग संग्रहों में समान है लागू नहीं लागू नहीं
संघ एक ही सूची में दो अलग-अलग संग्रह की सामग्री को जोड़ती है वह भी बिना किसी डुप्लिकेट सामग्री के लागू नहीं लागू नहीं

समानता

दो वाक्यों (गणना करने योग्य) की तुलना करता है और निर्धारित करता है कि वे एक सटीक मिलान हैं या नहीं।

उदाहरण दिखाएं

ऑपरेटर विवरण सी # क्वेरी एक्सप्रेशन सिंटैक्स VB क्वेरी अभिव्यक्ति सिंटैक्स
SequenceEqual बूलियन मान के परिणाम यदि दो अनुक्रम एक दूसरे के समान पाए जाते हैं लागू नहीं लागू नहीं

तत्व संचालक

DefaultIfEmpty को छोड़कर, सभी शेष आठ मानक क्वेरी तत्व ऑपरेटर एक संग्रह से एक ही तत्व वापस करते हैं।

उदाहरण दिखाएं

ऑपरेटर विवरण सी # क्वेरी एक्सप्रेशन सिंटैक्स VB क्वेरी अभिव्यक्ति सिंटैक्स
ElementAt एक संग्रह में एक विशिष्ट सूचकांक के भीतर मौजूद तत्व देता है लागू नहीं लागू नहीं
ElementAtOrDefault इस तथ्य को छोड़कर कि यह विशिष्ट सूचकांक सीमा से बाहर होने की स्थिति में भी डिफ़ॉल्ट मान देता है लागू नहीं लागू नहीं
प्रथम एक संग्रह के भीतर पहले तत्व को पुनः प्राप्त करता है या पहला तत्व किसी विशिष्ट स्थिति को संतुष्ट करता है लागू नहीं लागू नहीं
FirstOrDefault तथ्य यह है कि यह भी इस तरह के तत्वों का कोई अस्तित्व नहीं होने की स्थिति में एक डिफ़ॉल्ट मान के अलावा पहले के रूप में ही लागू नहीं लागू नहीं
पिछले किसी संग्रह में मौजूद अंतिम तत्व या किसी विशिष्ट स्थिति को संतुष्ट करने वाला अंतिम तत्व प्राप्त करता है लागू नहीं लागू नहीं
LastOrDefault अंतिम के समान ही इस तथ्य को छोड़कर कि यह ऐसे किसी भी तत्व का अस्तित्व नहीं होने की स्थिति में एक डिफ़ॉल्ट मान लौटाता है लागू नहीं लागू नहीं
एक एक संग्रह की अकेली तत्व या अकेला तत्व देता है जो एक निश्चित स्थिति को संतुष्ट करता है लागू नहीं लागू नहीं
SingleOrDefault सिंगल के समान ही सिवाय इसके कि यह एक डिफ़ॉल्ट मान भी लौटाता है यदि इस तरह का कोई अकेला तत्व मौजूद नहीं है लागू नहीं लागू नहीं
DefaultIfEmpty यदि संग्रह या सूची रिक्त है या रिक्त है, तो डिफ़ॉल्ट मान लौटाता है लागू नहीं लागू नहीं