Forskjeller mellom C # List vs Array

C # List-klasse representerer en sterkt typisk liste over objekter som indeksen kan få tilgang til, og den støtter lagring av verdier av en bestemt type uten å støpe til eller fra et objekt.

Liste, der parameter T er typen elementer i listen. Enkelte funksjoner i listen er gitt nedenfor:

Legg til heltallverdier i Listesamlingen:

List intList = new List ();

intL) ist.Legg til (2);

intList.Legg til (3);

intList.Legg til (4);

Legg til strengverdier i Listesamlingen:

Listefarger = ny Liste ();

colours.add ("rød");

colors.add (“hvit”);

colours.add (“grønn”);

Hent elementer fra en Listesamling ved å bruke for loop:

foreach (strengfarge i farger) (

MessageBox.Show (farge)

)

En matrise lagrer en sekvensiell samling i faste størrelser med elementer av samme type. Den brukes til å lagre en samling av data, men matrisen kan betraktes som en samling av variabler av samme type som er lagret på sammenhengende minneplasser. Alle matriser består av sammenhengende minneplasser, med den laveste adressen tilsvarer det første elementet og den høyeste adressen til det siste elementet.

Angi en matrise i C #:

datatype () typeName; // DataType brukes til å spesifisere type elementer i matrisen

Initierer en matrise:

dobbel () balanse = ny dobbel (50);

Tilordne verdier til en matrise:

dobbel () balanse = (23, 0, 34, 56, 44, 32);

Tilgang til arrayelementer;

Foreach (int-verdi i balanse) (

Console.WriteLine ("elementet er:" + verdi);

)

Opprett og initialiser en matrise samtidig:

Int () trinn = nytt int (6) (1, 2, 3, 4, 5, 6);

Kopier en arrayvariabel til en annen mål arrayvariabel:

Int () count = trinn;

både mål og kilde peker på samme minneplassering

Sammenligning fra topp mot hode mellom C # List vs Array Infographics

Nedenfor er de topp 8 forskjellene mellom C # List vs Array

Viktige forskjeller mellom C # List vs Array

Både C # List vs Array-ytelse er populære valg i markedet; la oss diskutere noen av de viktigste forskjellene mellom C # List vs Array:

  1. Listen er bygget på toppen av Array, mens Array er en datastruktur på lavere nivå.
  2. En liste blir sendt i form av APIer i C # med en overordnet som samlingsklasse, mens Array er datastrukturen på lavere nivå med sine egne spesifikke egenskaper.
  3. En liste er ikke indeksbasert, basert på begrepet noder, mens Arrays er indeksbaserte datastrukturer med den laveste adressen blir gitt til det første elementet og den høyeste adressen blir gitt til det siste elementet i matrisen.
  4. Listene har dynamisk karakter, dvs. at størrelsen øker automatisk med mer elementinnsetting, mens Arrays har struktur med fast størrelse, når initialiserte ikke kan tilbakestilles.
  5. Listen er bedre for hyppig innsetting og sletting, mens Arrays er mye bedre egnet for hyppig tilgang til elementer.
  6. Liste opptar mye mer minne ettersom hver node som er definert at listen har sitt eget minnesett, mens Arrays er minneeffektiv datastruktur.
  7. En liste er hentet fra Collection som inneholder mer generisk datatype, mens Array er fast og lagrer sterkere datatype.
  8. Liste inneholder noder som har minneposisjoner, trenger ikke å være sammenhengende, mens Array inneholder elementene med minnelokasjonen som har sammenhengende karakter.
  9. Ikke-sammenhengende egenskap til List gjør at de tar mer tid på å få tilgang til elementene, mens sammenhengende egenskap til Array gjør dem svært effektive for tilgang til elementene.
  10. Liste over generelle innflytelsesgrader, det er i utgangspunktet en typesikker versjon av ArrayList, og genererer en kompilertidsfeil, mens Arrays med sin typesikre, svært effektive når det gjelder hastighet og ytelse, støtter flere dimensjoner.

Head to Head sammenligning mellom C # List vs Array

Nedenfor er den øverste sammenligningen mellom C # List vs Array

Grunnlag for sammenligning mellom C # List vs ArrayListeArray
OpprettelseBygget på toppen av ArrayOpprinnelig datastruktur, basert på indekskonsept
HukommelseBesette mer minne enn ArrayMinne-effektiv
LengdeLengde variererLengde i fast størrelse
brukHyppig innsetting og slettingHyppig elementtilgang
ResizeEndre størrelse på listen er dynamiskEndre størrelse på matriser er dyrt
StrukturIkke sammenhengende minneSammenhengende minneplassering
indekseringIkke-indeksbasert strukturIndeks basert på laveste adresse som først, og høyeste adresse som sist
AdgangTilgangselementet er tidkrevende, men basert på en posisjon av elementetTilgangselement er konstant tidsdrift uavhengig av elementets plassering

Konklusjon - C # List vs Array

Begge C # List vs Array er forskjellige typer, med forskjellige muligheter og lagrer dataene sine på separate måter. Denne lagringsfunksjonene og designen av begge C # List vs Array-datastrukturer gjør dem unike på sine egne måter. En matrise er fast i størrelse, og når den først er tildelt, kan man ikke legge til eller fjerne elementer fra den, også alle elementer må være av samme type. Dermed er det typen sikker og mest effektiv lineær datastruktur når det gjelder hastighet og ytelse. Array støtter også flere dimensjoner. Listen gir mer generelle funksjoner og stammer fra Collection APIs. I motsetning til Array, har de dynamiske karakterer, kan endres størrelse automatisk med hyppig innsetting og sletting av elementer. Det er egentlig en typesikker versjon av en ArrayList-datastruktur. Typesikkerhetsfunksjon betyr at det ikke er boksing eller opphenting av boks som kan forbedre ytelsen, og hvis noen prøver å legge til et element av feil type, vil det generere en kompilertidsfeil.

C # List vs Array-ytelse er en lineær datastruktur som er godt egnet for forskjellige scenarier. Hvis hyppig innsetting og sletting oppstår, og på samme tid, minne ikke er en begrensning, er List et ideelt valg, mens i scenarier som hyppig tilgang til elementer som kreves med en minnebegrensning, er Array et bedre alternativ. Det hele avhenger av brukssak og krav. En matrise er alltid en liste i naturen, men en liste er ikke en matrise. Arrayet gir begge typer tilgang, direkte og sekvensiell, mens List bare tillater sekvensiell tilgang. Og dette er fordi måten disse datastrukturene er lagret i minnet. Siden List er avledet fra Collection, kan det forskjellige implementeringer, en av disse implementeringene er ArrayList, som er en klasse som implementerer atferden til listen ved å bruke matriser som en datastruktur. En array er veldig knyttet til maskinvarebegrepet om kontinuerlig, sammenhengende minne, med hvert element identisk i størrelse. Begge C # List vs Array ytelsesideer stiller seg ganske bra ut, basert på scenarier. På slutten av dagen koker det hele til kravet, selv om minnedelen kan være trygt sidelinje i dagens verden siden høyt minne har blitt en norm.

Anbefalt artikkel

Dette har vært en guide til de største forskjellene mellom C # List vs Array. Her diskuterer vi også C # List vs Array viktige forskjeller med infografikk, og sammenligningstabell. Du kan også se på følgende artikler -

  1. Array-lister vs Java-liste - Verdifulle forskjeller
  2. Fantastisk guide på C vs Java
  3. Java Vector og ArrayList
  4. C # vs Js - Awesome Differences
  5. C # Array vs List: Differences
  6. Krev vs import: Vil du vite fordelene
  7. C vs C #: Hva er de beste forskjellene
  8. C # vs JavaScript: Hva er funksjonene