Skillnader mellan C # List vs Array

C # Listklass representerar en starkt typad lista över objekt som kan nås av indexet och den stöder lagring av värden av en specifik typ utan att kasta till eller från ett objekt.

Lista, där parameter T är typen av element i listan. Vissa funktioner i listan ges nedan:

Lägg till heltal i listan.

Lista intList = ny lista ();

intL) ist.Lägg till (2);

intList.Lägg till (3);

intList.Lägg till (4);

Lägg till strängvärden i listsamlingen:

Listfärger = ny Lista ();

colors.add (“röd”);

färger.add (“vit”);

colors.add (“grönt”);

Hämta objekt från en Listsamling genom att använda för loop:

förhand (strängfärg i färger) (

MessageBox.Show (färg)

)

En matris lagrar en sekvenssamling av fast storlek med element av samma typ. Det används för att lagra en samling data, men matrisen kan betraktas som en samling variabler av samma typ som lagras på sammanhängande minnesplatser. Alla matriser består av sammanhängande minnesplatser, där den lägsta adressen motsvarar det första elementet och den högsta adressen till det sista elementet.

Förklara en matris i C #:

datatype () typName; // DataType används för att ange typ av element i array

Initiera en matris:

dubbel () balans = ny dubbel (50);

Tilldela värden till en matris:

dubbel () balans = (23, 0, 34, 56, 44, 32);

Åtkomst till arrayelement;

Foreach (int-värde i balans) (

Console.WriteLine ("elementet är:" + värde);

)

Skapa och initiera en matris samtidigt:

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

Kopiera en arrayvariabel till en annan mål arrayvariabel:

Int () räkna = steg;

både mål och källa pekar på samma minnesplats

Jämförelse mellan huvud och huvud mellan C # Lista vs Array Infographics

Nedan visas de 8 bästa skillnaderna mellan C # List vs Array

Viktiga skillnader mellan C # Lista vs Array

Både C # List vs Array-prestanda är populära val på marknaden; låt oss diskutera några av de stora skillnaderna mellan C # List vs Array:

  1. Listan är byggd på toppen av Array, medan Array är en datastruktur på lägre nivå.
  2. En lista skickas i form av API: er i C # med en förälder som samlingsklass medan Array är datastrukturen på lägre nivå med sina egna specifika egenskaper.
  3. En lista är inte indexbaserad, baserad på begreppet noder medan Arrays är indexbaserade datastrukturer med den lägsta adressen tillhandahålls till det första elementet och den högsta adressen tillhandahålls till det sista elementet i matrisen.
  4. Listan har dynamisk karaktär, dvs deras storlek ökar automatiskt med mer elementinsättning medan matriser är en fast storlekstruktur, när initialiserade inte kan återställas.
  5. Listan är bättre för ofta infogning och radering medan Arrays är mycket bättre lämpade för ofta tillgång till elementsscenario.
  6. Listan upptar mycket mer minne eftersom varje nod som definieras listan har sin egen minnesuppsättning medan Arrays är minneseffektiv datastruktur.
  7. En lista härrör från samling som innehåller mer generisk datatyp medan Array är fixerad och lagrar mer stark datatyp.
  8. Listan innehåller noder som har minnesplatser behöver inte ha en sammanhängande karaktär medan Array innehåller elementen med deras minnesplats som är sammanhängande till sin natur.
  9. Icke-sammanhängande egenskap hos List gör att de tar mer tid på att få tillgång till elementen medan sammanhängande egenskap hos Array gör dem mycket effektiva för att få tillgång till elementen.
  10. Lista hävstångsgeneratorer, det är i princip en typsäker version av ArrayList och genererar ett kompileringstidsfel medan Arrays med sin typsäkra, mycket effektiva vad gäller hastighet och prestanda, stöder flera dimensioner.

Head to Head jämförelse mellan C # List vs Array

Nedan är den bästa jämförelsen mellan C # List vs Array

Grund för jämförelse mellan C # Lista vs ArrayListaArray
SkapandeByggt på toppen av ArrayOriginal datastruktur, baserat på indexkoncept
MinneUpptag mer minne än ArrayMinne effektiva
LängdLängd varierarFast storlek längd
AnvändandeOfta infogning och raderingFrekvent elementåtkomst
ResizeÄndra storlekslista är dynamiskAtt ändra storlek på matriser är dyrt
StruktureraIcke-sammanhängande minneSammanhängande minnesplats
indexeringIcke-indexbaserad strukturIndex baserat med den lägsta adressen som första och den högsta adressen som sist
TillgångTillgångselementet är tidskrävande även om det är baserat på elementets positionÅtkomstelementet är konstant tidsdrift oavsett elementets placering

Slutsats - C # List vs Array

Båda C # Lista vs Array är olika typer, med olika funktioner och lagrar deras data på olika sätt. Denna lagringsfunktioner och design av både C # List vs Array-datastrukturer gör dem unika på sina egna sätt. En array är fixerad i storlek och när den har tilldelats kan man inte lägga till eller ta bort objekt från den, även alla element måste vara av samma typ. Det är alltså typsäker och mest effektiv linjär datastruktur när det gäller hastighet och prestanda. Array stöder också flera dimensioner. Listan ger mer generiska funktioner och härrör från Collection API: er. Till skillnad från Array, de är dynamiska till sin natur, kan ändra storlek automatiskt med ofta införande och radering av element. Det är i huvudsak en typsäker version av en ArrayList-datastruktur. Typsäkerhetsfunktion innebär att det inte finns någon boxning eller unboxing som skulle förbättra prestandan och om någon försöker lägga till ett element av fel typ kommer det att generera ett kompileringstidsfel.

C # Lista vs Array-prestanda är en linjär datastruktur som är väl lämpad för olika scenarier. Om ofta infogning och radering inträffar, och samtidigt är minnet inte en begränsning, är Lista ett idealiskt val medan i scenarier som ofta tillgång till element som krävs med en minnesbegränsning är Array ett bättre alternativ. Det beror på användningsfall och krav. En matris är alltid en lista i naturen men en lista är inte en matris. Arrayen tillåter båda typer av åtkomst, direkt och sekventiellt medan List endast tillåter sekventiell åtkomst. Och det beror på hur dessa datastrukturer lagras i minnet. Eftersom Listan härstammar från Collection kan den ha olika implementationer, en av dessa implementeringar är ArrayList, som är en klass som implementerar Listens beteende med hjälp av matriser som en datastruktur. En array är mycket knuten till hårdvarubegreppet kontinuerligt, sammanhängande minne, med varje element identiskt i storlek. Båda C # Lista vs Array-prestationsidéerna stämmer ganska bra, baserat på scenarier. I slutet av dagen läggs allt på kravet, även om minnesdelen kan vara säkert sido i dagens värld eftersom högt minne har blivit en norm.

Rekommenderad artikel

Detta har varit en guide till de bästa skillnaderna mellan C # List vs Array. Här diskuterar vi också C # Lista vs Array viktiga skillnader med infografik och jämförelsetabell. Du kan också titta på följande artiklar -

  1. Matrislistor vs Java-lista - värdefulla skillnader
  2. Fantastisk guide för C vs Java
  3. Java Vector och ArrayList
  4. C # vs Js - Awesome Differences
  5. C # Array vs List: Differences
  6. Kräv kontra import: Vill du veta fördelarna
  7. C vs C #: Vad är de bästa skillnaderna
  8. C # vs JavaScript: Vilka är funktionerna

Kategori: