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 | यदि संग्रह या सूची रिक्त है या रिक्त है, तो डिफ़ॉल्ट मान लौटाता है | लागू नहीं | लागू नहीं |