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:
- Zoznam je zostavený v hornej časti poľa, zatiaľ čo pole je dátová štruktúra nižšej úrovne.
- 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.
- 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.
- 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ť.
- 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.
- 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.
- Zoznam je odvodený zo zbierky, ktorá obsahuje všeobecnejší typ údajov, zatiaľ čo pole je pevné a uchováva silnejší typ údajov.
- 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.
- 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.
- 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 Array | zoznam | rad |
stvorenia | Postavený na vrchole poľa | Pôvodná štruktúra údajov založená na koncepte indexu |
Pamäť | Zaberá viac pamäte ako Array | pamäť efektívna |
dĺžka | Dĺžka sa líši | Pevná dĺžka |
používanie | Časté vkladanie a mazanie | Častý prístup k prvkom |
resize | Zoznam zmien je svojou povahou dynamický | Zmena veľkosti polí je drahá |
štruktúra | Nespojitá pamäť | Súvislé umiestnenie pamäte |
indexovanie | Štruktúra bez indexu | Index založený na najnižšej adrese ako prvej a najvyššej na poslednej |
prístup | Prístupový prvok je časovo náročný, aj keď je založený na polohe prvku | Prí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 -
- Array Lists vs Java List - hodnotné rozdiely
- Amazing Guide on C vs Java
- Java Vector a ArrayList
- C # vs Js - úžasné rozdiely
- C # Array vs List: Rozdiely
- Vyžadovať vs import: Chcete poznať výhody
- C vs C #: Aké sú najlepšie rozdiely
- C # vs JavaScript: Aké sú funkcie