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
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
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
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
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.