Rozdiely medzi zoznamami C # a Array

C # Trieda zoznamu predstavuje silne napísaný zoznam objektov, ku ktorým má index prístup a podporuje ukladanie hodnôt určitého typu bez toho, aby sa prenášal na objekt alebo z neho.

Zoznam, kde parameter T je typ prvkov v zozname. Niektoré vlastnosti zoznamu sú uvedené nižšie:

Pridajte do kolekcie Zoznam celočíselné hodnoty:

Zoznam intList = new List ();

intL) ist.Add (2);

intList.Add (3);

intList.Add (4);

Pridajte hodnoty reťazca do kolekcie Zoznam:

Zoznam farieb = nový zoznam ();

colors.add („červená“);

colors.add („biela“);

colors.add („zelená“);

Načítanie položiek zo zbierky zoznamu pomocou slučky for:

foreach (farba šnúrky vo farbách) (

MessageBox.Show (color)

)

Pole ukladá sekvenčnú kolekciu prvkov rovnakého typu s pevnou veľkosťou. Používa sa na ukladanie kolekcie údajov, ale pole sa môže považovať za kolekciu premenných toho istého typu uložených na susedných pamäťových miestach. Všetky polia pozostávajú z priľahlých pamäťových miest, pričom najnižšia adresa zodpovedá prvému prvku a najvyššia adresa poslednému prvku.

Vyhlásiť pole v C #:

datatype () typeName; // DataType sa používa na určenie typu prvkov v poli

Inicializácia poľa:

double () balance = new double (50);

Priradenie hodnôt k súboru:

dvojitá () rovnováha = (23, 0, 34, 56, 44, 32);

Prístup k prvkom poľa;

Foreach (int. Hodnota v rovnováhe) (

Console.WriteLine („element is:“ + value);

)

Vytvorte a inicializujte pole súčasne:

Int () kroky = nový int (6) (1, 2, 3, 4, 5, 6);

Skopírujte premennú poľa do inej cieľovej premennej poľa:

Int () count = kroky;

cieľový aj zdrojový bod smerujú na rovnaké miesto v pamäti

Porovnanie medzi hlavami medzi zoznamami C # List a Array Infografics

Nižšie je uvedených 8 najlepších rozdielov medzi zoznamami C # List a Array

Kľúčové rozdiely medzi zoznamami C # a Array

Výkony C # List vs Array sú populárnymi voľbami na trhu; porozprávajme sa o niektorých hlavných rozdieloch medzi zoznamami C # a Array:

  1. Zoznam je zostavený v hornej časti poľa, zatiaľ čo pole je dátová štruktúra nižšej úrovne.
  2. Zoznam je dodávaný vo forme API v C # s rodičom ako trieda Zbierka, zatiaľ čo Array je dátová štruktúra nižšej úrovne s vlastnými špecifickými vlastnosťami.
  3. Zoznam nie je založený na indexe, založený na koncepte uzlov, zatiaľ čo polia sú indexové dátové štruktúry s najnižšou adresou, ktorá je poskytnutá prvému prvku a najvyššia adresa je poskytnutá poslednému prvku v poli.
  4. Zoznam má dynamickú povahu, tj ich veľkosť sa automaticky zväčšuje s väčším počtom prvkov, zatiaľ čo polia sú pevnou štruktúrou veľkosti, keď sa inicializácia nedá obnoviť.
  5. Zoznam je lepší na časté vkladanie a mazanie, zatiaľ čo polia sú oveľa vhodnejšie na scenár častého prístupu k prvkom.
  6. Zoznam zaberá omnoho viac pamäte, pretože každý definovaný uzol má svoju vlastnú množinu pamäte, zatiaľ čo polia sú pamäťovo efektívne dátové štruktúry.
  7. Zoznam je odvodený zo zbierky, ktorá obsahuje všeobecnejší typ údajov, zatiaľ čo pole je pevné a uchováva silnejší typ údajov.
  8. Zoznam obsahuje uzly, ktoré majú pamäťové umiestnenia, nemusia byť svojou povahou susediace, zatiaľ čo pole obsahuje prvky s ich pamäťovým umiestnením, ktoré sú svojou povahou susediace.
  9. Nespojité vlastníctvo zoznamu vedie k tomu, že zaberajú viac času pri prístupe k prvkom, zatiaľ čo priľahlé vlastníctvo Array z nich robí vysoko efektívny prístup k prvkom.
  10. Zoznam využíva generiká, je to v podstate typovo bezpečná verzia súboru ArrayList a generuje chybu pri kompilácii, zatiaľ čo pole s bezpečným typom, vysoko efektívne z hľadiska rýchlosti a výkonu podporujú viac dimenzií.

Porovnanie Head to Head medzi C # List vs Array

Nižšie je najvyššie porovnanie medzi C # List vs Array

Základ porovnania medzi zoznamami C # a Arrayzoznamrad
stvoreniaPostavený na vrchole poľaPôvodná štruktúra údajov založená na koncepte indexu
PamäťZaberá viac pamäte ako Arraypamäť efektívna
dĺžkaDĺžka sa líšiPevná dĺžka
používanieČasté vkladanie a mazanieČastý prístup k prvkom
resizeZoznam zmien je svojou povahou dynamickýZmena veľkosti polí je drahá
štruktúraNespojitá pamäťSúvislé umiestnenie pamäte
indexovanieŠtruktúra bez indexuIndex založený na najnižšej adrese ako prvej a najvyššej na poslednej
prístupPrístupový prvok je časovo náročný, aj keď je založený na polohe prvkuPrístupový prvok je prevádzka s konštantným časom bez ohľadu na umiestnenie prvku

Záver - C # List vs Array

Zoznam C # List vs Array sú odlišné typy, majú rôzne schopnosti a ukladajú svoje údaje rôznymi spôsobmi. Tieto možnosti ukladania a dizajn dátových štruktúr C # List vs Array ich robia jedinečnými vlastnými spôsobmi. Pole má pevnú veľkosť a keď je už pridelená, nie je možné z nej pridávať ani odstraňovať položky, všetky prvky musia byť rovnakého typu. Ide teda o typovo bezpečnú a najúčinnejšiu lineárnu dátovú štruktúru z hľadiska rýchlosti a výkonu. Array tiež podporuje viac dimenzií. Zoznam poskytuje všeobecnejšie možnosti a je odvodený z kolekcií API rozhrania Collection. Na rozdiel od Array, majú dynamickú povahu, môžu automaticky meniť veľkosť pri častom vkladaní a odstraňovaní prvkov. Je to v podstate typovo bezpečná verzia dátovej štruktúry ArrayList. Bezpečnostná funkcia typu znamená, že neexistuje žiadny box ani rozbalenie, ktoré by zvýšilo výkon, a ak sa niekto pokúsi pridať prvok nesprávneho typu, vygeneruje chybu pri kompilácii.

C # List vs Array performance je lineárna dátová štruktúra, ktorá je vhodná pre rôzne scenáre. Ak dôjde k častému vkladaniu a mazaniu a súčasne pamäť nie je obmedzením, potom je List ideálnou voľbou, zatiaľ čo v prípadoch, ako je častý prístup k požadovaným prvkom s obmedzením pamäte, je Array lepšou možnosťou. To všetko závisí od prípadu použitia a požiadavky. Pole je vždy zoznam v prírode, ale zoznam nie je pole. Pole umožňuje oba druhy prístupu, priamy aj sekvenčný, zatiaľ čo zoznam umožňuje iba sekvenčný prístup. A to preto, že spôsob, akým sú tieto dátové štruktúry uložené v pamäti. Pretože zoznam je odvodený zo zbierky, môže sa líšiť v implementáciách, jednou z týchto implementácií je ArrayList, čo je trieda, ktorá implementuje správanie sa Zoznamu pomocou polí ako dátovej štruktúry. Pole je veľmi spojené s hardvérovou predstavou súvislej súvislej pamäte, pričom každý prvok má rovnakú veľkosť. Oba nápady na výkon C # List vs Array sa zostavujú celkom dobre, na základe scenárov. Na konci dňa sa to všetko scvrkáva na požiadavku, hoci pamäťová časť môže byť v dnešnom svete bezpečne postranná, pretože vysoká pamäť sa stala normou.

Odporúčaný článok

Toto bol sprievodca pre najväčšie rozdiely medzi C # List vs Array. Tu tiež diskutujeme kľúčové rozdiely medzi C # List a Array s infografikou a porovnávaciu tabuľku. Môžete sa tiež pozrieť na nasledujúce články -

  1. Array Lists vs Java List - hodnotné rozdiely
  2. Amazing Guide on C vs Java
  3. Java Vector a ArrayList
  4. C # vs Js - úžasné rozdiely
  5. C # Array vs List: Rozdiely
  6. Vyžadovať vs import: Chcete poznať výhody
  7. C vs C #: Aké sú najlepšie rozdiely
  8. C # vs JavaScript: Aké sú funkcie

Kategórie: