Forskelle mellem C # List vs Array
C # Listklasse repræsenterer en stærkt indtastet liste over objekter, der kan fås adgang til ved indekset, og det understøtter lagring af værdier af en bestemt type uden at støbe til eller fra et objekt.
Liste, hvor parameter T er typen af elementer i listen. Nogle funktioner i listen er vist nedenfor:
Tilføj heltalværdier i Listesamlingen:
Liste intList = ny liste (); intL) ist.Tilføj (2); intList.Tilføj (3); intList.Tilføj (4); Tilføj strengværdier i Listesamlingen: Listefarver = ny liste (); farver.add (“rød”); farver.add (“hvid”); farver.add (“grøn”); Hent genstande fra en Listesamling ved hjælp af loop: foreach (strengfarve i farver) ( MessageBox.Show (farve) ) |
En matrix gemmer en sekvenssamling af fast størrelse med elementer af samme type. Det bruges til at gemme en samling af data, men matrixen kan betragtes som en samling af variabler af samme type, der er gemt på sammenhængende hukommelsessteder. Alle matriser består af sammenhængende hukommelsesplaceringer, hvor den laveste adresse svarer til det første element og den højeste adresse til det sidste element.
Angiv en matrix i C #:
datatype () typeName; // DataType bruges til at specificere type elementer i matrix Initialisering af en matrix: dobbelt () balance = ny dobbelt (50); Tildeling af værdier til en matrix: dobbelt () balance = (23, 0, 34, 56, 44, 32); Adgang til arrayelementer; Foreach (int-værdi i balance) ( Console.WriteLine (“element er:” + værdi); ) Opret og initialiser en matrix på samme tid: Int () trin = nyt int (6) (1, 2, 3, 4, 5, 6); Kopier en arrayvariabel til en anden mål arrayvariabel: Int () count = trin; både mål og kilde peger på den samme hukommelsesplacering |
Sammenligning fra hoved til hoved mellem C # List vs Array Infographics
Nedenfor er de 8 øverste forskelle mellem C # List vs Array
Vigtige forskelle mellem C # List vs Array
Begge C # List vs Array-ydeevne er populære valg på markedet; lad os diskutere nogle af de største forskelle mellem C # List vs Array:
- Listen er bygget øverst på Array, mens Array er en datastruktur på lavere niveau.
- En liste sendes i form af API'er i C # med en overordnet som samlingsklasse, hvorimod Array er datastrukturen på lavere niveau med deres egne specifikke egenskaber.
- En liste er ikke indeksbaseret, baseret på konceptet med knudepunkter, mens Arrays er indeksbaserede datastrukturer med den laveste adresse leveres til det første element, og den højeste adresse leveres til det sidste element i matrixen.
- Liste er dynamisk i naturen, dvs. deres størrelse øges automatisk med mere elementindsættelse, mens Arrays er struktur med fast størrelse, når først initialiseret ikke kan nulstilles.
- Listen er bedre til hyppig indsættelse og sletning, mens Arrays er meget bedre egnet til hyppig adgang til elementer-scenarie.
- Liste optager meget mere hukommelse, da hver node defineret listen har sit eget hukommelsessæt, mens Arrays er hukommelseseffektiv datastruktur.
- En liste er afledt af Samling, der indeholder mere generisk datatype, mens Array er fast og gemmer mere stærk datatype.
- Liste indeholder noder, der har hukommelsesplaceringer, behøver ikke at være sammenhængende, mens Array indeholder elementerne med deres hukommelsesplacering, som er sammenhængende.
- Ikke-sammenhængende egenskab ved List får dem til at tage mere tid på at få adgang til elementerne, mens sammenhængende egenskab ved Array gør dem meget effektive til at få adgang til elementerne.
- Vis generelle gearing til gearing, det er dybest set en typesikker version af ArrayList og genererer en kompileringstid-fejl, mens Arrays med sin typesikre, yderst effektive med hensyn til hastighed og ydelse understøtter flere dimensioner.
Head to Head sammenligning mellem C # List vs Array
Nedenfor er den øverste sammenligning mellem C # List vs Array
Basis for sammenligning mellem C # -liste vs array | Liste | Array |
Skabelse | Bygget på toppen af Array | Original datastruktur baseret på indekskoncept |
Hukommelse | Besæt mere hukommelse end Array | Hukommelse-effektive |
Længde | Længde varierer | Fast størrelse længde |
Anvendelse | Hyppig indsættelse og sletning | Hyppig elementadgang |
Resize | Ændre størrelse på størrelse er dynamisk | Ændring af størrelse på arrays er dyrt |
Struktur | Ikke sammenhængende hukommelse | Sammenhængende hukommelsesplacering |
Indeksering | Ikke-indeksbaseret struktur | Indeks baseret på den laveste adresse som første og højeste adresse som sidst |
Adgang | Adgangselement er tidskrævende, selvom det er baseret på en position af elementet | Adgangselement er konstant tidsdrift uanset elementets placering |
Konklusion - C # Liste vs Array
Begge C # List vs Array er forskellige typer, der har forskellige muligheder og gemmer deres data på separate måder. Denne lagringsfunktioner og design af begge C # List kontra Array-datastrukturer gør dem unikke på deres egne måder. En array er fast i størrelse, og når den først er tildelt, kan man ikke tilføje eller fjerne elementer fra den, også alle elementer skal være af samme type. Det er således typesikker og mest effektiv lineær datastruktur med hensyn til hastighed og ydelse. Array understøtter også flere dimensioner. Listen giver flere generiske muligheder og stammer fra Collection APIs. I modsætning til Array, de er dynamiske i naturen, kan de ændre størrelsen automatisk med hyppig indsættelse og sletning af elementer. Det er i det væsentlige en typesikker version af en ArrayList-datastruktur. Type sikkerhedsfunktion betyder, at der ikke er nogen boksning eller afboksning, som ville forbedre ydelsen, og hvis nogen forsøger at tilføje et element af den forkerte type, genererer det en fejl i kompileringstid.
C # List vs Array-ydeevne er en lineær datastruktur, der er velegnet til forskellige scenarier. Hvis der forekommer hyppig indsættelse og sletning, og på samme tid, hukommelse ikke er en begrænsning, er List et ideelt valg, hvorimod i scenarier som hyppig adgang til elementer, der kræves med en hukommelsesbegrænsning, er Array en bedre mulighed. Det hele afhænger af brugssag og krav. En matrix er altid en liste i naturen, men en liste er ikke en matrix. Arrayet tillader begge typer adgang, direkte og sekventiel, mens Liste kun tillader sekventiel adgang. Og det skyldes, hvordan disse datastrukturer gemmes i hukommelsen. Da liste er afledt af Collection, kan det forskellige implementeringer, en af disse implementeringer er ArrayList, som er en klasse, der implementerer Listens opførsel ved hjælp af arrays som en datastruktur. En Array er meget bundet til hardwarebegrebet kontinuerlig, sammenhængende hukommelse, hvor hvert element er identisk i størrelse. Begge C # List vs Array-performance-ideer stemmer ganske godt sammen, baseret på scenarier. I slutningen af dagen koger det hele sammen med kravet, skønt hukommelsesdelen sikkert kan være sidelinie i nutidens verden, da høj hukommelse er blevet en norm.
Anbefalet artikel
Dette har været en guide til de største forskelle mellem C # List vs Array. Her diskuterer vi også C # List vs Array nøgleforskelle med infografik og sammenligningstabel. Du kan også se på de følgende artikler -
- Array-lister vs Java-liste - værdifulde forskelle
- Fantastisk guide til C vs Java
- Java-vektor og ArrayList
- C # vs Js - Awesome Differences
- C # Array vs Liste: Forskelle
- Kræv vs import: Vil du vide fordelene
- C vs C #: Hvad er de bedste forskelle
- C # vs JavaScript: Hvad er funktionerne