Holde Stuff i C # Collection Classes

April 13  by Eliza

Mange variabler er for lagring av en ting, som et nummer eller en setning. Et objekt kan ha mye av eiendommer, lagring mye informasjon om et enkelt konsept. Noen ganger, skjønt, er det bare å holde styr på en stor liste over ting. Thatâ € ™ s hvor samlingen klasser kommer inn.

Innsamlings klasser i C # er kjempebra fordi de kan hjelpe deg å holde en liste over elementer, eller en gruppe av nøkler og verdier, og gi søking, proctoring, og generelt vedlikehold verktøy for gratis. Thatâ € ™ sa mye enklere enn å skrive de to hundre â € ~sort kunder ved siste nameâ € ™ metode denne måneden.

C # har grunnleggende samling klasser, generiske samling klasser, og samtidige samling klasser. Disse siste som er for tråd sikre operasjoner i et multi miljø. Alle disse innsamlings klasser er nyttig hvis du vet hvor og når du skal bruke dem.

Regelmessige samlinger

Regelmessige samlinger lagre utypet ting for deg. Hvis du dona € ™ t vet nøyaktig hva youâ € ™ re kommer til å lagre, regelmessige samlinger er for deg. Nesten alt i disse klassene er lagret som objekt.

Klasse Beskrivelse
Arraylist Dette er bare en grei samling av gjenstander, hvis størrelse er i utgangspunktet erklært, og at størrelsen økes etter behov (men ikke redusert).
Hashtabellen Bare en tabell med to kolonner av nøkler og verdier, hvor parene er knyttet til sortering en henting.
Køen Et første i, vare ut (FIFO) liste over elementer. Flott for lagring av programprosessen ting.
Stack Som en kø, men Last In First Out (LIFO).

Generiske samlinger

C # 2.0 introdusert generiske samlinger. Generiske samlinger lar deg lagre skrevne samlinger av gjenstander, som erklærte under kjøring.

Klasse Beskrivelse
Ordbok <TKey, TValue> Bare en HastTable, bortsett skrevet, så du dona € ™ t har til å lagre Object, Object. TKey og TValue er typer, slik at du kan lagre en liste over <Int32, String> hvis du vil.
List <T> Dette er den nye matrise. Ita € ™ sa skrev liste over elementer. Langt, den mest vanlige samlingen klasse brukt. Ita € ™ s standard. Hvis du trenger en liste over personer, ita € ™ s List <Person>.
Kø <T> Ligner på utypet kø, men, vel, skrevet!
SortedList <TKey, verdi> Denne awesome Ordbok implementerer IComparable slik at det kan sorteres.
Stabel <T> Akkurat som utypet Stack, bortsett skrevet.

Samtidige samling klasser

Til slutt, de Samtidige klasser sørge for at gjenstandene du lagrer i en liste er tilgjengelig i noen plass i minnet, ikke hva prosessor saken. Ita € ™ s en større avtale enn du tror.

Klasse Beskrivelse
BlockingCollection <T> Ita € ™ s en trådsikker klasse som vil hindre en tråd fra å endre et felt som er tilgjengelig med en annen tråd. Strålende ting, egentlig.
ConcurrentDictionary <TKey, TValue> Snakker av strålende, kan dette settet med nøkkel / verdi par nås av flere tråder.
ConcurrentQueue <T> Husk at FIFO stabelen? Yeah. Dette er generisk og tråd trygg.
ConcurrentStack <T> De orkestrerte samlinger er nyttige. Theyâ € ™ re gunstig for hukommelsen, for en ting. Allikevel, dette er en LIFO og tråd-safe, også.