Query बनाम method syntax
एक ही LINQ को query या method syntax में लिखें; compiler translation देखें और समझें कि प्रत्येक शैली कब चुननी है।
Query बनाम method syntax, CoddyKit पर C# अकादमी का एक निःशुल्क पाठ है। यह 3 में से 3वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह C# अकादमी सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। C# अकादमी पाठ्यक्रम में कुल 3 पाठ शामिल हैं।
दो सिंटैक्स
LINQ के दो रूप:
- विधि सिंटैक्स: xs.Where(...).Select(...)
- क्वेरी सिंटैक्स: from x in xs where ... select ...
- अधिकांश ऑपरेटरों के लिए दोनों समतुल्य हैं।
विधि सिंटैक्स
विधि सिंटैक्स Where और Select जैसी विस्तार विधियों को एक श्रृंखला में जोड़ता है।
using System;
using System.Linq;
public class Program
{
public static void Main(string[] args)
{
string[] words = new string[] { "dog", "tiger", "ant", "eagle" };
var result = words
.Where(w => w.Length >= 4)
.Select(w => w.ToUpper());
foreach (string w in result) Console.WriteLine(w);
}
}
क्वेरी सिंटैक्स
क्वेरी सिंटैक्स SQL जैसा पढ़ाई देता है: from, where, select। कंपाइलर इसे विधि-कॉल में बदल देता है।
using System;
using System.Linq;
public class Program
{
public static void Main(string[] args)
{
string[] words = new string[] { "dog", "tiger", "ant", "eagle" };
var query =
from w in words
where w.Length >= 4
select w.ToUpper();
foreach (string w in query) Console.WriteLine(w);
}
}
दोनों तरीकों से क्रमबद्ध करना
दोनों शैलियाँ फ़िल्टर करने, क्रम निर्धारित करने और चयन करने का समर्थन करती हैं। दोनों से समान परिणाम मिलते हैं।
using System;
using System.Linq;
public sealed class City
{
public string Name;
public int Pop;
public City(string name, int pop) { Name = name; Pop = pop; }
}
public class Program
{
public static void Main(string[] args)
{
City[] cities = new City[]
{
new City("Rome", 2873000),
new City("Oslo", 634000),
new City("Riga", 605000),
new City("Rio", 6748000)
};
// Method
var m = cities
.Where(c => c.Pop >= 700000)
.OrderBy(c => c.Name)
.Select(c => c.Name);
// Query
var q =
from c in cities
where c.Pop >= 700000
orderby c.Name ascending
select c.Name;
foreach (string name in m) Console.WriteLine(name);
Console.WriteLine("---");
foreach (string name in q) Console.WriteLine(name);
}
}
शैलियों को मिलाना
हर ऑपरेटर के लिए क्वेरी कीवर्ड उपलब्ध नहीं होता। शैलियों को मिलाना सामान्य है: पहले एक क्वेरी लिखें, फिर Count, Skip, Take या ThenBy को बुलाएँ।
using System;
using System.Linq;
public class Program
{
public static void Main(string[] args)
{
int[] data = new int[] { 5, 3, 9, 1, 7, 2, 8 };
// Query + method mix: query part, then Count() method
var q =
from n in data
where n > 3
select n;
int howMany = q.Count(); // no query keyword for Count
Console.WriteLine("Count >3 = " + howMany);
// Paging usually uses method syntax
var page = data.OrderBy(n => n).Skip(2).Take(3);
foreach (int x in page) Console.WriteLine(x);
}
}
किसका उपयोग कब करें
दिशा-निर्देश:
- छोटी श्रृंखलाओं के लिए और उन ऑपरेटरों के लिए जिनके क्वेरी कीवर्ड नहीं हैं, विधि सिंटैक्स का उपयोग करें।
- बहु-चरणीय फ़िल्टरिंग या क्रम-निर्धारण अधिक स्पष्ट पढ़ाई दे, तो क्वेरी सिंटैक्स का उपयोग करें।
- आवश्यकता हो तो दोनों को मिलाएँ; वे समतुल्य हैं।
क्वेरी और विधि सिंटैक्स की वास्तविकता
पुनरावलोकन
पुनरावलोकन: क्वेरी और विधि सिंटैक्स एक ही LINQ के दो रूप हैं। जो शैली सबसे अच्छी पढ़ाई दे, उसे चुनें और जहाँ क्वेरी कीवर्ड उपलब्ध न हों, वहाँ दोनों शैलियों को मिलाएँ।
एआई शिक्षक के साथ C# सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 93
- पाठ
- 346
अक्सर पूछे जाने वाले प्रश्न
क्या “Query बनाम method syntax” पाठ निःशुल्क है?
हाँ—“Query बनाम method syntax” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और C# अकादमी पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। C# अकादमी पाठ्यक्रम में कुल 3 पाठ शामिल हैं।
“Query बनाम method syntax” में मैं क्या सीखूँगा?
एक ही LINQ को query या method syntax में लिखें; compiler translation देखें और समझें कि प्रत्येक शैली कब चुननी है। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ C# अकादमी का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या C# अकादमी शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर C# अकादमी शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 3 में से 3वाँ पाठ है।
“Query बनाम method syntax” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस C# अकादमी पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर C# अकादमी पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- IEnumerable pipelines; deferred execution
- Select, Where, OrderBy, Take/Skip
- Query बनाम method syntax