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:

  1. Listen er bygget øverst på Array, mens Array er en datastruktur på lavere niveau.
  2. 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.
  3. 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.
  4. 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.
  5. Listen er bedre til hyppig indsættelse og sletning, mens Arrays er meget bedre egnet til hyppig adgang til elementer-scenarie.
  6. Liste optager meget mere hukommelse, da hver node defineret listen har sit eget hukommelsessæt, mens Arrays er hukommelseseffektiv datastruktur.
  7. En liste er afledt af Samling, der indeholder mere generisk datatype, mens Array er fast og gemmer mere stærk datatype.
  8. 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.
  9. 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.
  10. 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 arrayListeArray
SkabelseBygget på toppen af ​​ArrayOriginal datastruktur baseret på indekskoncept
HukommelseBesæt mere hukommelse end ArrayHukommelse-effektive
LængdeLængde variererFast størrelse længde
AnvendelseHyppig indsættelse og sletningHyppig elementadgang
ResizeÆndre størrelse på størrelse er dynamiskÆndring af størrelse på arrays er dyrt
StrukturIkke sammenhængende hukommelseSammenhængende hukommelsesplacering
IndekseringIkke-indeksbaseret strukturIndeks baseret på den laveste adresse som første og højeste adresse som sidst
AdgangAdgangselement er tidskrævende, selvom det er baseret på en position af elementetAdgangselement 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 -

  1. Array-lister vs Java-liste - værdifulde forskelle
  2. Fantastisk guide til C vs Java
  3. Java-vektor og ArrayList
  4. C # vs Js - Awesome Differences
  5. C # Array vs Liste: Forskelle
  6. Kræv vs import: Vil du vide fordelene
  7. C vs C #: Hvad er de bedste forskelle
  8. C # vs JavaScript: Hvad er funktionerne

Kategori: