Innholdsfortegnelse:
- Vanlige samlinger
- C # 2. 0 introduserte generiske samlinger. Generiske samlinger lar deg lagre typede samlinger av gjenstander, som deklarert ved kjøretid.
- Til slutt sørger de samtidige klassene for at objektene du lagrer i en liste, er tilgjengelige i hvilken som helst minneplass, uansett hvilken prosessor. Det er en større avtale enn du tror.
Video: How To Create Multilevel Numbering In Word (That Actually Works) 2025
Av Bill Sempf, Chuck Sphar, Stephen R. Davis
Hvis det er noe problem med. NET Framework fra C # Programmeres perspektiv, det er bare at det er for mye gode ting. Mange klasser har så mange egenskaper og hendelser at det er vanskelig å huske hva de mest brukte tingene er. Her er kremet av avlingen i Samling, Konfigurasjon og Asynk-klasser, alle satt sammen for enkel referanse.
Holde ting i C # Collection Classes
Mange variabler er for lagring av en ting, som et tall eller en setning. Et objekt kan ha mange egenskaper, og lagrer mye informasjon om et enkelt konsept. Noen ganger må du bare holde styr på en stor liste over ting. Det er her samlingsklassene kommer inn.
Samlingsklassene i C # er kjempebra fordi de kan hjelpe deg med å holde en liste over elementer, eller en gruppe nøkler og verdier, og gir gratis søking, proctoring og generelle vedlikeholdsverktøy. Det er mye enklere enn å skrive de to hundre "sortere kundene etter etternavn" -metoden denne måneden.
C # har grunnleggende samlingsklasser, generiske samlingsklasser og samtidige samlingsklasser. Disse sistnevnte er for trådsikker drift i et multiprocessormiljø. Alle disse samlingen klassene er nyttige hvis du vet hvor og når du skal bruke dem.
Vanlige samlinger
Vanlige samlinger lagrer ubemerkede ting for deg. Hvis du ikke vet nøyaktig hva du skal lagre, er vanlige samlinger for deg. De fleste alt i disse klassene lagres som Object.
ikke redusert).
HashTable
Queue
Stack
C # 2. 0 introduserte generiske samlinger. Generiske samlinger lar deg lagre typede samlinger av gjenstander, som deklarert ved kjøretid.
Klasse
Beskrivelse | Ordbok |
---|---|
Bare en HastTable, unntatt skrevet, så du trenger ikke | lagre Objekt, Objekt. TKey og TValue er typer, så du kan lagre en
liste over hvis du ønsker . Liste |
Dette er det nye Array. Det er en skrevet liste over elementer. Ved | langt, brukes den mest vanlige samlingsklassen. Det er standard.
Hvis du trenger en liste over personer, er det en liste. Queue |
Ligner på den uberørte køen, men vel, skrevet! | SortedList |
Denne fantastiske ordboken implementerer ikke-sammenlignbare slik at den kan | sorteres.
Stack |
Akkurat som den untyped Stack, unntatt skrevet. | Samtidig samlingsklasser |
Til slutt sørger de samtidige klassene for at objektene du lagrer i en liste, er tilgjengelige i hvilken som helst minneplass, uansett hvilken prosessor. Det er en større avtale enn du tror.
Klasse
Beskrivelse | BlockingCollection |
---|---|
Det er en trådsikker klasse som forhindrer en tråd | fra å endre et felt som er tilgjengelig med en annen tråd.
Strålende ting, egentlig. ConcurrentDictionary |
TValue> tilgjengelig med flere tråder.
|
ConcurrentQueue |
Husk at FIFO stack? Yeah. Denne er generisk OG tråd | trygt.
ConcurrentStack |
De orkestriske samlingene er nyttige. De er | gunstige for minnet, for en ting. Uansett, dette er LIFO og
trådsikkert også. Konfigurere C # |
Et helt navneområde i klasser er designet for å konfigurere applikasjoner som er skrevet i noen. NET-språk, for eksempel C #, VB. NET, eller en av flere andre. Objektene i det er minst sagt litt tøft å navigere. Konfigurasjonen i. NET applikasjoner finner sted i a. config-fil. Denne XML-formaterte filen har en node, og en hel rekke prosjektspecifikke noder innenfor. Å få en referanse til konfigurasjonen krever et anrop til OpenExeConfiguration.
System. Konfigurasjon. Konfigurasjon config = ConfigurationManager. OpenExeConfiguration ();
Når det er gjort, er det ganske enkelt å få en referanse til en seksjon. GetSection-metoden tar bare en streng som er nodenavnet, og fordi config-filen er bare tekst, kan du hente den når som helst.
var sectionName = & ldquo; Samme det! & Rdquo;; System. Konfigurasjon. AppSettingsSection section = (Systemkonfigurasjon. AppSettingsSection) config. GetSection (section);
Du kan legge til seksjoner i config-filen ved hjelp av XML-manipulasjonsverktøyene i rammen. Du kan bruke en forhåndsinnstilt gruppe på seksjoner for tilhørende funksjonalitet.
Seksjon
Beskrivelse | Oppstart |
---|---|
Beskriver. NET versjon å bruke. | Runtime |
Lister. NET-elementer for å binde til kjørbar. | Nettverk |
Beskriver proxy og andre nettverksinnstillinger. | Kryptografi |
Et sted å holde tilgjengelige verdier som refererer til kryptoressurser | Konfigurasjon |
Den mest brukte delen. Det er der du beholder egendefinerte deler av config-filen. | Trace / Debug |
To innstillinger som lar deg sette opp sporing og logging. | Applikasjonsinnstillinger (appsettings) |
Programmerte ting som databasestrenger. | Nettinnstillinger (websettinger) |
ASP. NET spesifikke detaljer. | Programmering Asynkront |
En masse Windows 8 handler om å være rask og flytende. Måten å gjøre dette på er å bruke asynkrone metoder i tilbakeringinger fra langvarig funksjonalitet.Problemet med dette er at i C # er den beste måten å implementere en asynkron metode på med tråder. Men du kan ikke alltid avhenge av når elementene fra en tråderoperasjon kommer tilbake. Det må være litt kontroll hvis du vil at brukerne skal kunne føle at det er noen kontroll.
Skriv async og vent. async brukes til å erklære en asynkron funksjon, som returnerer en oppgave. Alle asynkemetoder må inneholde minst ett avventende uttrykk. avventer forteller C # å ta referansekode og kjøre den i en egen tråd enn brukertråden. Bordet bryter ned de nye asynkrone delene av språket.
Erklæring
Beskrivelse | async |
---|---|
En modifikator som viser kompilatoren at funksjonen den | endrer er asynkron.
avvente |
En operatør som suspenderer utførelsen av den inneholdende | metoden til den ventede oppgaven fullføres.
Oppgave |
Representerer en asynkron operasjon. | Oppgave |
En asynkron operasjon som returnerer en verdi. | oppgave. Fortsett Med |
En fortsettelse som startes etter at operasjonen i oppgaven | er fullført.
![]() |