LINQ के बारे में सीखना [बंद]


189

अवलोकन

बातें मैं इस साइट पर के बारे में बहुत पूछा है में से एक है LINQ । मेरे द्वारा पूछे गए प्रश्न व्यापक और विविध हैं और अक्सर उनके पीछे बहुत संदर्भ नहीं होते हैं। इसलिए मैंने लिनक पर जो ज्ञान अर्जित किया है, उसे मजबूत करने के प्रयास में, मैं इस प्रश्न को बनाए रखने और अतिरिक्त जानकारी के साथ इसे अद्यतन करने के लिए एक दृश्य के साथ पोस्ट कर रहा हूं क्योंकि मैं LINQ के बारे में सीखना जारी रखता हूं।

मुझे यह भी उम्मीद है कि यह अन्य लोगों के लिए एक उपयोगी संसाधन साबित होगा जो LINQ के बारे में सीखना चाहते हैं।

LINQ क्या है?

से MSDN :

LINQ प्रोजेक्ट .NET फ्रेमवर्क के एक्सटेंशन के लिए एक कोडनाम है जो भाषा-एकीकृत क्वेरी, सेट और ट्रांसफॉर्म ऑपरेशंस को सम्मिलित करता है। यह C # और Visual Basic को मूल भाषा वाक्यविन्यास के साथ प्रश्नों के लिए विस्तारित करता है और इन क्षमताओं का लाभ उठाने के लिए कक्षा पुस्तकालय प्रदान करता है।

इसका मतलब यह है कि LINQ एक सामान्य वाक्यविन्यास का उपयोग करके विभिन्न प्रकार के डेटा स्रोतों को क्वेरी करने का एक मानक तरीका प्रदान करता है।

LINQ के कौन से फ्लेवर हैं?

वर्तमान में Microsoft द्वारा प्रदान किए गए कुछ अलग LINQ प्रदाता हैं:

  • ऑब्जेक्ट्स पर Linq जो आपको किसी भी IEnumerable ऑब्जेक्ट पर प्रश्नों को निष्पादित करने की अनुमति देता है।
  • Linq to SQL जो आपको ऑब्जेक्ट ओरिएंटेड तरीके से डेटाबेस के खिलाफ प्रश्नों को निष्पादित करने की अनुमति देता है।
  • XML को Linq, जो आपको XML दस्तावेज़ों को क्वेरी, लोड, मान्य, क्रमबद्ध और हेरफेर करने की अनुमति देता है।
  • आंद्रेई द्वारा सुझाई गई लाइनिक टू एंटिटीज़
  • लाइनक टू डेटसेट

काफी कुछ अन्य हैं, जिनमें से कई यहां सूचीबद्ध हैं

क्या लाभ हैं?

  • एकाधिक डेटा स्रोतों को क्वेरी करने के लिए मानकीकृत तरीका
  • प्रश्नों का संकलन समय सुरक्षा
  • मेमोरी ऑब्जेक्ट्स में सेट आधारित ऑपरेशन करने के लिए अनुकूलित तरीका
  • प्रश्नों को डीबग करने की क्षमता

तो मैं LINQ के साथ क्या कर सकता हूँ?

Chook CSV फ़ाइलों को आउटपुट करने का एक तरीका प्रदान करता है
जेफ दिखाता है कि किसी सरणी से डुप्लिकेट कैसे निकालें
बॉब को एक अलग-अलग ऑर्डर की गई सूची मिलती है एक
डिटैटेबल मार्क्सएक्सिडिटी से पता चलता है कि कैसे एक सरणी को सॉर्ट करना है
दाना क्विक सॉर्ट का उपयोग करके त्वरित सॉर्ट का उपयोग करने में मदद करता है

कहा से शुरुवात करे?

से लिंक का सारांश गेटकीलर के प्रश्न नीचे दिया गया है :
स्कॉट गुथ्री ने अपने ब्लॉग पर लिनक को एक परिचय प्रदान किया है MSDN पर LINQ का
अवलोकन

क्रिसनॉडल ने जाँच करने का सुझाव दिया:

मुझे LINQ का उपयोग करने की क्या आवश्यकता है?

Linq वर्तमान में VB.Net 9.0 और C # 3.0 में उपलब्ध है, इसलिए आपको पूर्ण लाभ प्राप्त करने के लिए Visual Studio 2008 या अधिक की आवश्यकता होगी। (आप अपने कोड को हमेशा नोटपैड में लिख सकते हैं और MSBuild का उपयोग करके संकलित कर सकते हैं)

नामक एक उपकरण भी है LinqBridge जो आपको Linq को C # 2.0 में क्वेरी की तरह चलाने की अनुमति देगा।

LINQ का उपयोग करके टिप्स और ट्रिक्स

इस प्रश्न में LINQ का उपयोग करने के कुछ ट्रिकी तरीके हैं


एक महान पोस्ट के लिए +1 और स्कॉटगू के ब्लॉग का संदर्भ। यह एक महान संसाधन है और जहां मैंने शुरू में LINQ सीखा है।
इवान प्लाइस

लिंक्ड ऑन लाइनक्यू कुछ जापानी साइट पर जाता है। Google ट्रांसलेशन राइजिंग और अन्य बट सामानों के बारे में बात करता है जो nsfw है। : SI इसे किसी कारण से संपादित नहीं कर सकता है, हालांकि।
शेन

जवाबों:


12

क्यों यह स्वादिष्ट.com क्रोम स्टोर पर डेमेल नामक एक विस्तार नाम को पुनर्निर्देशित करता है? oO का मतलब आप del.icio.us के बजाय है?
सोनर ग्नुएल

6

ADO.NET एंटिटी फ्रेमवर्क के बाद LINQ एंटिटीज का उल्लेख करें। एक महत्वपूर्ण .NET मॉड्यूल होगा।


4

लाइनक इन एक्शन बुक प्राप्त करें यह एक कोडिंग पुस्तक के लिए एक आसान पढ़ा है और वास्तव में आपको सिखाता है कि भाषा के लिए लगाए गए कुछ अच्छे भागों में लाइनक और .NET 3.5 की नई विशेषताओं का उपयोग कैसे करें।


4

कुछ LINQ टिप्स:

  • क्वेरी प्रदर्शन को बेहतर बनाने के लिए शामिल होने से पहले फ़िल्टर लागू करें
  • LINQ क्वेरी को ऑब्जेक्ट रेफरेंस तुलना का उपयोग करके फ़िल्टर करें
  • LINQ में SQL संग्रह में खाली संग्रह के लिए समुच्चय को लागू करें
  • LINQ में SQL में गुण लोड करने में देरी
  • उत्सुक लोडिंग के साथ तालिका-मूल्यवान कार्यों का उपयोग करें
  • LINQ में ऑब्जेक्ट क्वेरी के लिए सही क्रम में जॉइन करें
  • एक लूप के अंदर एक LINQ क्वेरी लिखें

http://www.aspnetpro.com/articles/2009/04/asp200904zh_f/asp200904zh_f.asp


4

IMHO, एक अनदेखी, लेकिन महत्वपूर्ण, लाभ LINQ की कोडिंग दक्षता है, जैसे कि इतने कम कोड के साथ कितना पूरा किया जा सकता है। मुझे व्यक्तिगत रूप से क्वेरी सिंटैक्स पढ़ने और समझने में आसान लगता है।



3

मुझे लगता है, "LINQ के क्या जायके हैं?" अधूरा है। सबसे पहले, आप अपना खुद का "स्वाद" बना सकते हैं। हां, यह एक उन्नत कार्य है, लेकिन अब बहुत सारे LINQ कार्यान्वयन हैं।

यहाँ चार्ली कलवर्ट के ब्लॉग पर मौजूदा LINQ प्रदाताओं की सूची (साथ ही LINQ सीखने के कुछ और संसाधन) दिए गए हैं: लिंक्स के लिंक

और अपने स्वयं के LINQ प्रदाता बनाने के तरीके पर मैट वारेन द्वारा ब्लॉग पोस्टों की एक उत्कृष्ट श्रृंखला भी है: LINQ: एक IQuery के प्रदाता श्रृंखला का निर्माण


2

मेरे 2 सेंट्स, पढ़ें अध्याय "11 क्वेरी एक्सप्रेशन और ऑब्जेक्ट्स के लिए LINQ" और "12 LINQ संग्रह से परे" गहराई में "C #" पुस्तक में यह समझने के लिए कि LINQ कैसे काम करता है।


0

Linq अभ्यास के लिए

यदि आप व्यायाम और उत्तरों के साथ LINQ पर कुछ अभ्यास चाहते हैं, तो वास्तव में स्थापित करना आसान है और, मेरी राय में, बहुत बढ़िया:

https://github.com/walkhard/linq-exercises

Git से डाउनलोड करें, Visual Studio में खोलें। आपका काम परीक्षणों को पास करना है।

[प्रकटीकरण: मैंने इससे कुछ लाइन सीखा और मैं इस परियोजना में योगदान देता हूं, हां मुझे लगता है कि यह सीखने का एक शानदार, तेज और कुशल तरीका है।]

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.