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:
- Listen er bygget på toppen av Array, mens Array er en datastruktur på lavere nivå.
- 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.
- 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.
- 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.
- Listen er bedre for hyppig innsetting og sletting, mens Arrays er mye bedre egnet for hyppig tilgang til elementer.
- Liste opptar mye mer minne ettersom hver node som er definert at listen har sitt eget minnesett, mens Arrays er minneeffektiv datastruktur.
- En liste er hentet fra Collection som inneholder mer generisk datatype, mens Array er fast og lagrer sterkere datatype.
- Liste inneholder noder som har minneposisjoner, trenger ikke å være sammenhengende, mens Array inneholder elementene med minnelokasjonen som har sammenhengende karakter.
- 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.
- 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 Array | Liste | Array |
Opprettelse | Bygget på toppen av Array | Opprinnelig datastruktur, basert på indekskonsept |
Hukommelse | Besette mer minne enn Array | Minne-effektiv |
Lengde | Lengde varierer | Lengde i fast størrelse |
bruk | Hyppig innsetting og sletting | Hyppig elementtilgang |
Resize | Endre størrelse på listen er dynamisk | Endre størrelse på matriser er dyrt |
Struktur | Ikke sammenhengende minne | Sammenhengende minneplassering |
indeksering | Ikke-indeksbasert struktur | Indeks basert på laveste adresse som først, og høyeste adresse som sist |
Adgang | Tilgangselementet er tidkrevende, men basert på en posisjon av elementet | Tilgangselement 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 -
- Array-lister vs Java-liste - Verdifulle forskjeller
- Fantastisk guide på C vs Java
- Java Vector og ArrayList
- C # vs Js - Awesome Differences
- C # Array vs List: Differences
- Krev vs import: Vil du vite fordelene
- C vs C #: Hva er de beste forskjellene
- C # vs JavaScript: Hva er funksjonene