C# LINQ to Objects
LINQ के द्वारा जब in memory objects यानि की collections के लिए query perform की जाती है तो ऐसी queries LINQ to Objects queries कहलाती है। LINQ के द्वारा Array, List और Dictionary आदि collections को query किया जा सकता है।
आप ऐसे किसी भी type को LINQ के द्वारा query कर सकते है जो IEnumerable interface को implement करता है।
हालाँकि LINQ का प्रयोग करके traditional way द्वारा भी data operations perform किये जा सकते है लेकिन उसके लिए बहुत अधिक code लिखने की आवश्यकता होती है।
उदाहरण के लिए यदि आप किसी integer array में से उन numbers को access और show करना चाहते है जो 50 से greater है तो इसके लिए आपको बहुत सारा code लिखने की आवश्यकता होगी। लेकिन LINQ द्वारा यह कार्य एक single query से किया जा सकता है।
एक बात आपको ध्यान रखनी चाहिए की LINQ to Objects query IEnumerable<T> type return करती है। इसलिए उस query के result को IEnumerable<T> type के variable में ही store किया जाना चाहिए।
Syntax of LINQ to Objects Queries
LINQ to Objects queries perform करने का general syntax निचे दिया जा रहा है।
from <range variable> in <collection-name> standard-query-operator
जैसा की आप ऊपर दिए गए syntax में देख सकते है LINQ to Objects query from operator से start होती है। Range variable वह variable होता है जो collection में items को represent करता है।
Steps to Perform LINQ to Objects Operations
Objects के साथ LINQ queries perform करने के लिए आप निचे दिए जा रहे steps follow कर सकते है।
- System, System.Linq और System.Collections.Generic namespaces के लिए using statement define कीजिये।
- Class और Main() method define कीजिये।
- वह collection define कीजिये जिसे आप LINQ द्वारा query करना चाहते है।
- Query के result को hold करने के लिए IEnumerable<T> type का variable create कीजिये। इस variable को create करने के लिए program में System.Collections.Generic namespace include किया जाना आवश्यक है।
- Query लिखिए और उसे IEnumerable<T> type के variable को assign कीजिये।
- Query from operator से start कीजिये।
- From operator के बाद range variable define कीजिये।
- In operator define कीजिये।
- Collection का नाम define कीजिये जिसे आप query करना चाहते है।
- इसके बाद standard query operators के प्रयोग से data query कीजिये।
- For each loop के प्रयोग से IEnumerable<T> को traverse कीजिये और results show कीजिये।
Example of LINQ to Objects
LINQ to Objects queries को निचे उदाहरण द्वारा समझाया जा रहा है।
using System;
using System.Linq;
using System.Collections.Generic;
class myClass
{
static void Main(string[] args)
{
int[] numbers = {1, 23, 3, 5, 67, 87, 4, 6, 78, 9};
Console.WriteLine(“Array items are : “);
foreach(var n in numbers)
{
Console.WriteLine(n);
}
IEnumerable<int> result = from n in numbers where n>=20 select n;
Console.WriteLine(“Array items greater than 20 are : “);
foreach(var x in result)
{
Console.WriteLine(x);
}
}
}
ऊपर दिया गया उदाहरण निचे दिया गया output generate करता है।
Array items are :
1
23
3
5
67
87
4
6
78
9
Array items greater than 20 are :
23
67
87
78