Innholdsfortegnelse:
- Charlie Calvert's Community Blog
- De fleste av disse bloggene er generiske - de diskuterer alle programmeringsproblemer av noe slag. Følgelig finner du en blanding av emner i hver blogg. Forfatteren kan diskutere filsystemet i ett innlegg og LINQ på en annen. Hver har LINQ-spesifikke oppføringer som du kan søke etter ved hjelp av søkefunksjonene på bloggen. Selv om Charlie Calvert har forlatt Microsoft, inneholder hans blogg et vell av generell LINQ-informasjon.
Video: C# Tutorial 15 LINQ Tutorial 2025
Av John Paul Mueller
Språkkonfigurerte spørringer (LINQ) er en funksjon av. NET Framework som utvider din forståelse langt utover ting Microsoft. Du kan bruke LINQ til å spørre omtrent alt ved å kjenne viktige operatører sammen med noen få flere spørringsoperatører. Hvis du blir litt tapt underveis, tilbyr Microsoft et vell av ressurser gjennom sitt nettverk, blogger og fora.
Viktige LINQ Operatører
Language Integrated Query (LINQ) bruker et fantastisk utvalg av operatører. En operatør er et spesielt ord som forteller LINQ hva slags spørring som skal utføres, for eksempel å kontrollere om to verdier er like. Operatører kan løpe inn i hundrevis, men i de fleste tilfeller vil du utføre de fleste oppgavene ved å bruke bare noen få standardoperatører. Nedenfor er en liste over viktige LINQ-operatører.
Operatør | Beskrivelse |
---|---|
fra | Definerer det midlertidige objektet som brukes til å utføre en forespørsel. Tenk på
denne operatøren som definerer det individuelle elementobjektet fra hvilket du får alle andre data for spørringen. For eksempel velger du hvilke data som skal vises i utdataene og hvordan disse dataene er bestilt basert på den midlertidige variabelen. Operatøren fra er den eneste som må vises i alle spørringer du oppretter. |
i | Definerer datakilden som brukes til å skaffe dataene. En datakilde
kan være noe objekt som støttes av en dataleverandør. Leverandøren oppretter en forbindelse mellom datakilden og LINQ-spørringen. For eksempel kan en datakilde inkludere en gjenstand som en liste , en XML-fil, et SQL Server-bord, Active Directory, en web tjeneste eller omtrent alt annet du vil bruke å samle informasjon. Det er også mulig å jobbe direkte med filer på harddisken din ved hjelp av en LINQ-spørring. En spørring kan inneholde så mange matchende par fra og i operatører som er nødvendig for å fullstendig beskrive de datakilder som brukes i spørringen. |
velg | Velger utdatainformasjon for spørringen. Den enkleste
-utgangen er det samme objektet du definerer ved hjelp av operatøren fra. En selekteringsoperatør kan imidlertid inkludere beregnede verdier, dataregister eller individuelle objektegenskaper. Den begrensende -faktoren er i de fleste tilfeller funksjonaliteten som tilbys av LINQ -leverandøren. Alle fire av standardleverandørene inkluderer det komplette -området for utvalgte operatørbetegnelser. En spørring inneholder bare én valgt operatør , og denne operatøren må vises som den siste operatøren i spørringen . |
hvor | Beskriver vilkårene under hvilke et element vises som del
av utgangen.Hvor operatøren alltid krever et boolsk argument for å definere utgangsvilkårene. Du kan inkludere så mange hvor operatører som trengte å beskrive utgangskriteriene fullt ut. LINQ tolker hvor operatører i den rekkefølgen der de vises i spørringen, så bestillingen er viktig. Når en forespørsel ikke virker som forventet, kan du prøve å endre rekkefølgen av hvor operatørene bedre beskriver kravene til utdataene . Bruk debuggeren til å finne feil i den logiske strømmen av hvor operatører. |
orderby | Definerer rekkefølgen der utgangselementene vises. Den enkleste orderbyoperatoren
er avhengig av det objektet du definerer ved hjelp av operatøren fra . En ordreoperatør kan imidlertid akseptere enhver setning som definerer et logisk ordningsargument som input - vanligvis numerisk, alfabetisk, symbol eller binær. Du kan bruke så mange orderby operatører som som er nødvendig for å beskrive utdataene for dataene fullt ut. Som med hvor operatøren, tolker LINQ ordreoperatøren i den rekkefølgen der vises i spørringen. Følgelig er rekkefølgen til orderby-operatørene viktig. |
Bli med og på | Kombinerer to eller flere datakilder for å lage en sammensatt visning av
dataene. Datakildene trenger ikke å stole på de samme leverandørene. Du kan bruke så mange med operatører som som kreves for å fullstendig beskrive alle datakilder som brukes til spørring. Operatøren definerer kriteriet som brukes til å kombinere to datakilder. Koble til og på operatører for å lage en komplett datakilde. |
la | Oppretter en beregnet verdi for bruk i spørringen. Beregnede
-verdier gjør det vanskelig å formulere komplekse søk. I tillegg kan du overføre en beregnet verdi til innringeren for å gi ytterligere utgangsinformasjon. I mange tilfeller gir letoperatøren muligheten til å overføre data som LINQ vanligvis ikke vil passere på grunn av en navngivingskonflikt. Du kan bruke så mange letoperatører som nødvendig for å gi full forespørselsfunksjonalitet, men du bør begrense bruken til situasjoner der en beregnet -verdi forbedrer spørringshastigheten. |
Utforsking av LINQ Standard Query Operator Groups
Bruk av standard spørringsoperatører gjør det lettere å arbeide med Language Integrated Query (LINQ). På mange måter har du sannsynligvis allerede jobbet med enkle spørringsoperatører. For eksempel, når du bruker orderby-søkeordet, bruker du en spørringsoperatør i sorteringsgruppen for standard spørringsoperatører. Når du bruker hvor søkeordet, bruker du en annen spørringsoperatør, men denne gangen er det i filtreringsgruppen.
Her er en liste over standard spørringsoperatørgrupper og hvor du finner mer informasjon.
Gruppe | Gruppebeskrivelse | Inkluderte operatører | Tilleggsinformasjon |
---|---|---|---|
Samlingsoperasjoner | Samleringsoperatørene hjelper deg alle med å utføre matematiske
oppgaver med en datakilde. |
Samlet, Gjennomsnitt, Antall, LongCount, Max, Min og Sum | Microsoft
Utviklingsnettverk: Aggregasjonsoperasjoner |
Konkettingsoperasjoner | Den eneste sammenkoblingsoperatøren lar deg kombinere to
sekvenser. |
Concat | Microsoft
Utviklingsnettverk: Sammenkoblingsoperasjoner |
Konvertere datatyper | Konvertere datatyper kommer i to former: utsatt og
ikke-utvalgt. De utsatte konverteringsoperatørene konverterer resultatene til en forespørsel til en bestemt type som koden tolker resultatet sett. De ikke-konverterte operatøroperatørene endrer utdataene fra et spørring til en bestemt type. |
Utviklingsnettverk: Konvertering av datatyper
Elementoperasjoner Elementoperatørene hjelper til med å skape data Du velger et bestemt element i en |
-sekvens, selv om du ikke kjenner noen identifiserende opplysninger
om det elementet, for eksempel navnet sitt. |
ElementAt, ElementAtOrDefault, First, FirstOrDefault, Last, | LastOrDefault, Single og SingleOrDefault
Microsoft Utviklingsnettverk: Elementoperasjoner |
Likestillingsoperasjoner
to |
-sekvenser er like (antall elementer og innholdet til hvert
-element er like). |
SequenceEqual | Microsoft
Utviklingsnettverk: Likestillingsoperasjoner Filtreringsdata |
Filtreringsoperatørene hjelper deg å ekskludere eller inkludere elementer i | en sekvens basert på bestemte kriterier.
OfType og Where |
Microsoft | Utviklingsnettverk: Filtrering av data
Generasjonsoperasjoner |
Generasjonsoperatørene lager en ny sekvens basert på | -kriteriene du angir.
StandardIfEmpty, Empty, Range og |
Repeat | Microsoft
Utviklingsnettverk: Generasjonsoperasjoner |
Gruppering av data
Grupperingsoperatørene hjelper deg med å sortere data etter en bestemt |
karakteristikk, slik som første bokstav i en gruppe på
strenger. |
Grupper | Utviklingsnettverk: Gruppering av data
Delta i operasjoner Sammenslutningsoperatørene godtar to eller flere sekvenser som input og |
opprett en enkelt utgangssekvens basert på en bestemt tilslutning skriv og | delta kriteriene.
Bli med og GroupJoin |
Microsoft | Utviklingsnettverk: Bli med i operasjoner
Partisjoneringsdata Partisjoneringsoperatørene hjelper deg med å dele en sekvens til |
finne spesifikk informasjon. | Hopp over, SkipWhile, Take og
TakeWhile |
Microsoft | Utviklingsnettverk: Partisjoneringsdata
Projeksjonsoperasjoner |
Projeksjonsoperatørene lager en ny type basert på spørringen
du lager. |
Velg og velgMany
Microsoft |
Utviklingsnettverk: Prosjektoperasjoner | Kvantifiseringsoperasjoner
Kvantifiseringsoperatørene hjelper deg med å velge elementer basert på |
spesifikke kriterier. Du bruker disse operatørene til å avgjøre om | ingen, ett eller flere elementer oppfyller de valgte
-kriteriene. |
Alt, alle, | og inneholder
Microsoft Utviklingsnettverk: Quantifier Operations Angi operasjoner |
De angitte operatørene oppretter sett. Tenk på settet aritmetisk du
utført i skolen. |
Distinct, Except, Intersect,
og Union |
Microsoft | Utviklingsnettverk: Angi operasjoner
Sorteringsdata |
Sorteringsoperatørene hjelper deg med å sette en sekvens i en bestemt
rekkefølge. |
OrderBy, OrderByDescending, ThenBy, ThenByDescending og Reverse
Microsoft |
Utviklingsnettverk: Sortering av data | Microsoft LINQ Resources
Det er alltid nyttig å vite hvor du kan gå for mer informasjon og verktøy og forbedringer når du lager dine språkintegrerte søk (LINQ) applikasjoner. Her er en liste over nyttige Microsoft-ressurser for LINQ. |
Microsoft Developer Network | Microsoft Developer Network (MSDN) har alltid gitt grunnlinjematerialet for alle Microsoft-utviklingsprodukter. Du finner et helt lager av informasjon der - mer enn noe menneske kan sikkert lese i livet. Derfor må du sikte informasjonen nøye, eller du vil raskt bli tapt i MSDN labyrinten. Det viktigste MSDN-nettstedet for å jobbe med LINQ gir deg nyheter, ressurser og tilgang til annen informasjon, for eksempel prøver.
Microsoft blogger |
Microsoft vil at du skal vite hvordan du arbeider med LINQ. Tidligere vil du finne mye av informasjonen du trenger på MSDN. MSDN-nettstedet er fortsatt et bra sted å gå, men mange Microsoft-utviklere klaget over at det var litt for formelt (artiklene er ganske vanskelige å forstå i noen tilfeller) og det var ikke noen mulighet til å samhandle med forfatterne. Microsoft-bloggene gir et bedre miljø for å få informasjon der du faktisk kan korrespondere med forfatteren. Her er noen blogger du vil besøke når du arbeider med LINQ:
Beth Massi: Deling godheten som er Visual Basic (VB)
Charlie Calvert's Community Blog
Wriju's BLOG:. NET og Alt
De fleste av disse bloggene er generiske - de diskuterer alle programmeringsproblemer av noe slag. Følgelig finner du en blanding av emner i hver blogg. Forfatteren kan diskutere filsystemet i ett innlegg og LINQ på en annen. Hver har LINQ-spesifikke oppføringer som du kan søke etter ved hjelp av søkefunksjonene på bloggen. Selv om Charlie Calvert har forlatt Microsoft, inneholder hans blogg et vell av generell LINQ-informasjon.
Microsoft-fora
-
Hvis du ikke tror at du får nok samhandling med Microsoft gjennom en blogg, bruker Microsoft-ansatte ofte også Microsoft-forumene. Opplasting av en melding til riktig forum kan gi deg noen profesjonell hjelp eller i det minste litt kunnskapsrik hjelp fra et annet forummedlem. De fleste utviklere stole på MSDN forumet for grunnleggende spørsmål om LINQ. Du kan se en generell liste over fora i Microsoft-fellesskapet. Ikke glem å prøve det språkspesifikke forumet for Visual Basic. NETT.
