Polia vs zoznamy: Porovnanie použitia v C#

Polia Vs Zoznamy Porovnanie Pouzitia V C



Pole v C# je množina položiek s identickými dátovými typmi a definovanou špecifickou veľkosťou. Predstavuje priľahlý kus pamäte, kde sú uložené prvky. Pomocou svojho indexu polia v C# ponúkajú rýchly a jednoduchý ľubovoľný prístup k svojim členom. Zoznam je dynamická dátová štruktúra v programovacom jazyku C#, ktorá predstavuje skupinu komponentov identického typu. Na rozdiel od polí môžu zoznamy dynamicky rásť alebo zmenšovať, čo umožňuje efektívne pridávanie, odstraňovanie a modifikáciu prvkov. Podobnosti a rozdiely medzi poľami C# a zoznamami C# sú zahrnuté v tomto článku.

Vyhlásenie:

Polia sú deklarované pomocou „type[] ArrayName;“ syntax, kde typ označuje typ členov v kolekcii poľa a „ArrName“ je názov, ktorý je priradený k poľu. Deklarácia poľa je označená hranatými zátvorkami [].

typu [ ] Názov poľa = nový typ [ ] ;

Zoznamy sú deklarované pomocou „List LsName;“ syntax, kde typ predstavuje dátový typ prvkov v zozname a „LsName“ je názov, ktorý je daný zoznamu. Hranaté zátvorky označujú, že ide o všeobecnú deklaráciu typu.







Zoznam < typu > listName = nový zoznam < typu > ( ) ;

Inicializácia:

Polia používajú na uzavretie hodnôt zložené zátvorky {}, zatiaľ čo zoznamy používajú nový konštruktor List nasledovaný zloženými zátvorkami {} na uzavretie hodnôt.



typu [ ] Názov poľa = { v1 , v2 , v3 , ... } ;

Zoznam < typu > listName = nový zoznam < typu > { v1 , v2 , v3 , ... } ;

Pridávanie hodnôt:

Je dôležité si uvedomiť, že polia C# majú špecifickú veľkosť. Ak je požadovaná iná veľkosť, je potrebné vytvoriť nové pole „newArr“ s požadovanou veľkosťou (aktuálna dĺžka + počet nových hodnôt). Pridajte pôvodné pole „OrgArr“ do nového poľa a priraďte nové hodnoty novým pozíciám v novom poli a aktualizujte odkaz na nové pole.



Pole. Kopírovať ( OrgArr , newArr , OrgArr. Dĺžka ) ;

newArr [ OrgArr. Dĺžka ] = 14 ; // nová hodnota

newArr [ OrgArr. Dĺžka + 1 ] = 2 ; // nová hodnota

OrgArr = newArr ; // Aktualizácia referencie int[] NewArr = new int[OrgArr.Length + 2];

Zoznamy ponúkajú flexibilitu z hľadiska správy veľkosti. Keď je zoznam inicializovaný, začína s počiatočnou kapacitou, ale môže sa automaticky rozširovať, keď sa pridávajú ďalšie prvky. Táto schopnosť dynamickej zmeny veľkosti umožňuje zoznamom prispôsobiť sa meniacim sa požiadavkám. Zoznamy C# poskytujú funkciu Add() na pridanie hodnôt do zoznamu. Tu je návod, ako môžete pridať hodnoty do zoznamu C#:





Polia vs zoznamy : Porovnanie použitia v C #

Prístup k hodnotám

K hodnotám v číslach poľa sa pristupuje pomocou zápisu indexu [], teda pomocou čísla indexu v zátvorkách a ukladá sa do inej premennej.

prvok typu = Názov poľa [ index ] ;

Na prístup k hodnotám v zozname C# môžete použiť aj zápis indexu [] spolu s požadovanou pozíciou indexu podobne ako polia.



prvok typu = ListName [ index ] ;

Odstránenie hodnôt

Polia majú nastavenú dĺžku. Preto na odstránenie prvkov musí byť vytvorené nové pole s menšou veľkosťou a existujúce prvky musia byť skopírované. Môžete to urobiť pomocou funkcie Array.Copy(), ako je vysvetlené v časti „Pridávanie hodnôt“. V zoznamoch C# je odstránenie hodnôt oveľa jednoduchšie a intuitívnejšie. Trieda List poskytuje metódu „odstránenia“, ktorá vám umožňuje odstrániť konkrétnu hodnotu zo zoznamu.

listName. Odstrániť ( element ) ;

Spočítajte hodnoty

Ak chcete spočítať hodnoty v poli C#, môžete použiť atribút dĺžky poľa. Vlastnosť length vám dáva celkový počet hodnôt v poli.

int počítať = názov poľa. Dĺžka ;

Ak chcete spočítať hodnoty v zozname C#, môžete použiť funkciu „počítania“ zoznamu. Celkový počet prvkov, ktoré sa momentálne nachádzajú v zozname, sa tiež vráti pomocou atribútu „count“.

int počítať = listName. počítať ;

Opakujte hodnoty

Ak chcete iterovať hodnoty v poli C#, môžete použiť cyklus „for“ s dĺžkou poľa ako podmienkou cyklu.

pre ( int i = 0 ; i < Názov poľa. Dĺžka ; i ++ ) {

typ e = názov poľa [ i ] ;

Konzola. WriteLine ( to je ) ;

}

Ak chcete iterovať hodnoty v zozname C#, môžete použiť cyklus „foreach“, pretože zjednodušuje proces iterácie automatickým opakovaním prvkov.

pre každý ( zadajte e v listName ) {

Konzola. WriteLine ( to je ) ;

}

Príklad 1: Polia C#

Daný kód deklaruje a inicializuje celočíselné pole s názvom „Arr“ s dĺžkou 5 a priraďuje hodnoty jeho prvkom. Hodnoty priradené prvkom poľa sú 11, 12, 13, 14 a 15. Kód potom pokračuje v zobrazení prvkov poľa pomocou cyklu „for“. Každý komponent je zobrazený na samostatnom riadku pomocou metódy Console.WriteLine().

Po zobrazení pôvodných prvkov kód upraví prvok na indexe 2 tak, že mu priradí novú hodnotu 10. Ďalej kód zobrazí upravené pole opätovným iterovaním prvkov pomocou cyklu „for“. Nakoniec kód zobrazí celkový počet hodnôt, ktoré sa nachádzajú v poli pomocou vlastnosti „Arr.Length“, ktorá udáva dĺžku poľa.

pomocou systému ;

trieda Dummy {

statické neplatné Hlavná ( ) {

int [ ] Arr = Nový int [ 5 ] { jedenásť , 12 , 13 , 14 , pätnásť } ;

Konzola. WriteLine ( 'Prvky:' ) ;

pre ( int i = 0 ; i < Arr. Dĺžka ; i ++ )

{

Konzola. WriteLine ( Arr [ i ] ) ;

}

Arr [ 2 ] = 10 ;

Konzola. WriteLine ( 'Upravené pole:' ) ;

pre ( int i = 0 ; i < Arr. Dĺžka ; i ++ )

{

Konzola. WriteLine ( Arr [ i ] ) ;

}

Konzola. WriteLine ( 'Počet prvkov: ' + Arr. Dĺžka ) ;

}

}

Príklad 2: C# zoznamy

Nasledujúci poskytnutý kód demonštruje použitie zoznamu C# na ukladanie a manipuláciu s kolekciou celých čísel. Najprv kód inicializuje zoznam s názvom „Arr“ s piatimi celými číslami: 11, 12, 13, 14 a 15. To sa dosiahne pomocou triedy List a jej konštruktora spolu so syntaxou inicializátora.

Potom program vytlačí správu „Elements:“ a pokračuje v opakovaní každého prvku v zozname pomocou cyklu „foreach“. Počas každej iterácie sa aktuálny prvok vytlačí na konzolu pomocou metódy Console.WriteLine().

Potom kód upraví hodnotu na indexe 2 zoznamu tak, že jej priradí hodnotu 10 (Arr[2] = 10). Tento riadok zmení tretí prvok v zozname z 13 na 10. Po úprave program opäť vypíše správu „Upravený zoznam:“ a iteruje aktualizovaný zoznam, pričom vytlačí každý prvok do konzoly. Kód potom zobrazí počet hodnôt v zozname pomocou „Arr.Count“. Táto vlastnosť vráti počet položiek, ktoré sa nachádzajú v zozname, čo je v nasledujúcom scenári 5.

Nakoniec kód odstráni prvok s hodnotou 4 zo zoznamu pomocou metódy Arr.Remove(4). Táto metóda vyhľadá zadanú hodnotu v zozname a odstráni jej prvý výskyt. Nakoniec program vytlačí správu „Zoznam po odstránení:“ a ešte raz prejde zoznamom, pričom po operácii odstránenia zobrazí každý zostávajúci prvok.

pomocou systému ;

pomocou systému. zbierky . Generic ;

trieda Dummy {

statické neplatné Hlavná ( ) {

Zoznam < int > Arr = nový zoznam < int > ( ) { jedenásť , 12 , 13 , 14 , pätnásť } ;

Konzola. WriteLine ( 'Prvky:' ) ;

pre každý ( int n v Arr )

{

Konzola. WriteLine ( n ) ;

}

Arr [ 2 ] = 10 ;

Konzola. WriteLine ( 'Upravený zoznam:' ) ;

pre každý ( int n v Arr )

{

Konzola. WriteLine ( n ) ;

}

Konzola. WriteLine ( 'Počet prvkov: ' + Arr. počítať ) ;

Arr. Odstrániť ( 4 ) ;

Konzola. WriteLine ( 'Zoznam po odstránení:' ) ;

pre každý ( int n v Arr )

{

Konzola. WriteLine ( n ) ;

}

}

}

Záver

Táto príručka pokrývala základné rozdiely v syntaxi medzi poľami C# a zoznamami C#. Polia majú pevnú dĺžku a sú prístupné pomocou indexu, zatiaľ čo zoznamy majú dynamickú veľkosť a poskytujú ďalšie metódy na pridávanie a odstraňovanie prvkov. Spolu s tým sme poskytli zoznamové programy C#, ktoré zobrazujú deklaráciu, inicializáciu, prístup, úpravu, počítanie a pridávanie prvkov.