LINQ je znan kot Language Integrated Query in je predstavljen v .NET 3.5 in Visual Studio 2008. Odličnost LINQ je v tem, da omogoča jezikom .NET (kot so C#, VB.NET in tako naprej) ustvarjanje poizvedb za obnoviti informacije iz vira informacij. Na primer, program lahko pridobi podatke iz zapisov o zamenjavi ali pride do zapisov delavcev itd. V prejšnjih letih so bile takšne informacije shranjene v drugem nizu podatkov od aplikacije in res se želite naučiti različnih vrst jezika vprašanj za dostop do takšnih informacij, kot so SQL, XML itd. In poleg tega ne morete postaviti vprašanja z uporabo jezika C# ali katerega drugega jezika .NET.
kako brati iz datoteke csv v javi
Za premagovanje tovrstnih težav je Microsoft ustvaril LINQ. Povezuje še eno zmogljivost z narečji C# ali .NET, da ustvari vprašanje za kateri koli izvedljiv vir informacij LINQ. Še več, najboljši del je, da je struktura stavkov, uporabljena za postavljanje vprašanja, podobna ne glede na to, kateri vir informacij je uporabljen, kar pomeni, da je slovnica za poizvedovanje o informacijah v naboru socialnih podatkov enaka tisti, ki se uporablja za izdelavo informacij o vprašanju. spravite v gručo, obstaja tehten razlog za uporabo SQL ali katere druge jezikovne komponente, ki ni .NET. Prav tako lahko uporabljate LINQ s SQL, z zapisi XML, z ADO.NET, s spletnimi administracijami in s kakšno drugo informacijsko bazo.
V C# je LINQ na voljo v sistemu. Imenski prostor Linq. Ponuja različne vrste razredov in tehnik, ki podpirajo vprašanja LINQ. V tem imenskem prostoru:
- Razred Enumerable vsebuje standardni operator poizvedbe, ki deluje na objektu, ki izvaja IEnumerable.
- Razred queryable vsebuje standardne skrbnike poizvedb, ki delajo na objektu, ki izvaja IQueryable.
Na primer : SQL je jezik strukturiranih poizvedb, ki se uporablja za shranjevanje in obnavljanje podatkov iz baze podatkov. Podobno je LINQ struktura organiziranega poizvedbenega stavka. LINQ je osnovni C#. Uporablja se za obnovitev informacij iz različnih vrst virov, na primer XML, dokumentov, zbirk, ADO.Net DataSet, spletne storitve, MS SQL Server in različnih strežnikov baz podatkov.
Uporaba LINQ
- Glavni razlog za izdelavo LINQ je, da smo pred C# 3.0 uporabljali zanko for, za vsako zanko ali delegate za prečkanje zbirke, da bi izsledili določen predmet, vendar je škoda vključevanja teh strategij za iskanje predmeta ta, da res želite sestavite ogromno kode, da poiščete predmet, ki je dodatno dolgočasen in naredi vaš program manj luciden. Za premagovanje teh težav je predstavljen LINQ, ki predvaja podobno dejavnost v nekaj vrsticah in naredi vašo kodo jasno; poleg tega lahko podobno kodo vključite v različne projekte.
- Poleg tega omogoča popolno preverjanje razvrščanja v času prevajanja. Pomaga nam pri razločevanju napak med izvajanjem, tako da jih lahko nedvomno odpravimo.
- LINQ je preprost, zelo urejen in jezik na pomembnejši ravni kot SQL
- Prav tako lahko uporabite LINQ z nizom in zbirkami C#. Zagotavlja vam še eno vodilo, kako učinkovito rešiti stare težave.
- S pomočjo LINQ lahko nedvomno delate z virom podatkov, kot so XML, SQL, entitete, objekti in tako naprej. Ena sama poizvedba lahko deluje z zbirko podatkov, zato se morate naučiti različnih vrst jezikov.
- LINQ podpira izraz poizvedbe, anonimne tipe, implicitno vnesene spremenljivke, lambda izraze, inicializatorje objektov in zbirk ter metode razširitve.
Poizvedbe LINQ lahko uporabljamo na dva načina
Struktura sintakse poizvedbe LINQ je sestavljena iz ključnih besed poizvedbe, ki so značilne za izvedbo sistema .NET 3.5 ali višje. To programskemu inženirju ali razvijalcem omogoča, da sestavijo navodila zelo podobno kot zasnova SQL v kodi (C# ali VB.NET) brez uporabe stopenj. Na podoben način je znano v luči dejstva, da vprašanje Artikulacijska slovnica. V LINQ lahko sestavite poizvedbo za vire informacij IEnumerable series ali IQueryable z uporabo naslednjih strategij:
1. Sintaksa poizvedbe:
Sintaksa poizvedbenega jezika LINQ se začne s ključno besedo from in konča s ključno besedo Select ali GroupBy. Po ključni besedi from lahko uporabite različne vrste operacij standardne poizvedbe, kot so združevanje, filtriranje itd., kot je prikazano glede na vaše potrebe. V LINQ je na voljo 50 edinstvenih vrst skrbnikov standardnih vprašanj.
Koraki za pisanje sintakse poizvedbe:
Korak 1: V prvem koraku moramo v kodo dodati imenski prostor System.Linq.
i.e., using System.Linq;
2. korak: V drugem koraku moramo ustvariti vir podatkov, na katerem moramo izvajati operacije
Ex: List list = new List() { ' Hii ', ' Welcome to JavaTpoint ', ' The topic is LINQ.' ' Any Queries ' };
3. korak: V tretjem koraku moramo ustvariti poizvedbo za vir podatkov s ključno besedo, kot je select, from itd.
Ex: var r = from l in list where l.Contains(' Hii ') select l;
Tukaj je r spremenljivka poizvedbe, ki shrani rezultat artikulacije poizvedbe. Klavzula obrazca se uporablja za določitev vira informacij, tj. seznama, kjer pogoj velja za kanal, tj. l.Contains(' Hii ') in stavek select podaja vrsto vrnjenih stvari. Poleg tega je l spremenljivka dosega.
4. korak: Zadnji korak je izvedba poizvedbe z uporabo zanke za vsak.
EX: foreach(var i in r) { Console.WriteLine(i); }
Primer programa za sintakso poizvedbe:
// program to create LINQ query using Query Syntax // step-1: Adding the System.Linq namespace in the code. using System; using System.Linq; using System.Collections.Generic; class HelloWorld { // Main Method static public void Main() { // Step-2: creating the data source on which we have to perform the operations List list = new List() { ' Hii JavaTpoint', ' Welcome to JavaTpoint ', ' The topic is LINQ ', ' Any Queries ' }; // step-3: Creating the LINQ query for the data source using a keyword like select, from, etc. var r = from l in list where l.Contains(' JavaTpoint') select l; // In this will print only the sentence which contains JavaTpoint word // step-4: Executing LINQ Query using the for each loop foreach(var i in r) { Console.WriteLine(i); } } }
Izhod:
2. Sintaksa metode
V LINQ se Method Syntax uporablja za klicanje razširitvene metode za statične razrede Enumerable ali Queryable. Imenuje se tudi Sintaksa razširitve metode ali Fluent. Ne glede na to prevajalnik na splošno spremeni sintakso poizvedbe v strukturi sintakse metode med prevajanjem. Lahko prikliče standardni operator poizvedbe, kot so Where, Join, Max, Min, Avg, GroupBy Select itd. Dovoljeno jih je klicati naravnost brez uporabe sintakse poizvedbe.
Korak 1: V prvem koraku moramo v kodo dodati imenski prostor System.Linq.
i.e., using System.Linq;
2. korak: V drugem koraku moramo ustvariti vir podatkov, na katerem moramo izvajati operacije
Ex: List list = new List() { ' Hii ', ' Welcome to JavaTpoint ', ' The topic is LINQ ' ' Any Queries ' };
3. korak: Zdaj ustvarite poizvedbo z metodami, ki jih nudita statični razred Enumerable ali Queryable
Ex: var r = list.Where(a=> a.Contains(' JavaTpoint '));
Tukaj je r spremenljivka poizvedbe, ki shrani rezultat artikulacije poizvedbe. Klavzula obrazca se uporablja za določitev vira informacij, tj. seznama, kjer pogoj velja za kanal, tj. l.Contains(' Hii ') in stavek select podaja vrsto vrnjenih stvari. Poleg tega je l spremenljivka dosega.
4. korak: Zadnji korak je izvedba poizvedbe z uporabo zanke za vsak.
EX: foreach(var i in r) { Console.WriteLine(i); }
Primer programa za sintakso metode:
format niza
// program to create LINQ query using Method syntax // step-1: Adding the System.Linq namespace in the code. using System; using System.Linq; using System.Collections.Generic; class HelloWorld { // Main Method static public void Main() { // Step-2: creating the data source on which we have to perform the operations List list = new List() { ' Hii JavaTpoint', ' Welcome to JavaTpoint ', ' The topic is LINQ ', ' Any Queries ' }; //step-3 creating the query using the methods provided by the Enumerable or Queryable static classes var r = list.Where(a=> a.Contains(' JavaTpoint ')); // In this will print only the sentence which contains JavaTpoint word // Executing LINQ Query using the for each loop foreach(var i in r) { Console.WriteLine(i); } } }
Izhod:
Prednosti LINQ
- Stranki se ni treba učiti novih poizvedovalnih jezikov za alternativno vrsto zapisa podatkov ali vir podatkov.
- Poveča jasnost kode.
- Poizvedbo je mogoče ponovno uporabiti.
- Omogoča preverjanje tipa predmeta med sestavljanjem.
- Običajnim zbirkam daje IntelliSense.
- Ponavadi se uporablja z zbirkami ali nizi.
- LINQ podpira razvrščanje, združevanje, filtriranje in razvrščanje.
- Poenostavi odpravljanje napak, saj je usklajen z jezikom C#.
- Zagotavlja preprosto spremembo, ki nakazuje, da lahko nedvomno spremenite več kot en tip podatkov v drug tip podatkov, kot je spreminjanje podatkov SQL v podatke XML.