Izjava:
Nizi so deklarirani z uporabo 'type[] ArrayName;' sintakso, kjer tip označuje vrsto članov v zbirki matrike, »ArrName« pa je naslov, ki je dodeljen matriki. Deklaracija matrike je označena z oglatimi oklepaji [].
vrsta [ ] ArrayName = nov tip [ ] ; Seznami so deklarirani z uporabo “List
Seznam < vrsta > listName = nov seznam < vrsta > ( ) ;
Inicializacija:
Matrike uporabljajo zavite oklepaje {}, da obdajajo vrednosti, medtem ko seznami uporabljajo nov konstruktor List
vrsta [ ] ArrayName = { v1 , v2 , v3 , ... } ;
Seznam < vrsta > listName = nov seznam < vrsta > { v1 , v2 , v3 , ... } ;
Dodajanje vrednosti:
Ključnega pomena je, da si zapomnite, da imajo polja C# določeno velikost. Če je zahtevana drugačna velikost, je treba ustvariti novo matriko »newArr« z želeno velikostjo (trenutna dolžina + število novih vrednosti). Dodajte prvotno matriko »OrgArr« v novo matriko in dodelite nove vrednosti novim položajem v novi matriki ter posodobite sklic na novo matriko.
Array. Kopirati ( OrgArr , newArr , OrgArr. Dolžina ) ;
newArr [ OrgArr. Dolžina ] = 14 ; // nova vrednost
newArr [ OrgArr. Dolžina + 1 ] = 2 ; // nova vrednost
OrgArr = newArr ; // Posodobi referenco int[] NewArr = new int[OrgArr.Length + 2];
Seznami nudijo prilagodljivost glede upravljanja velikosti. Ko je seznam inicializiran, se začne z začetno zmogljivostjo, vendar se lahko samodejno razširi, ko je dodanih več elementov. Ta zmožnost dinamičnega spreminjanja velikosti omogoča, da se seznami prilagajajo spreminjajočim se zahtevam. Seznami C# ponujajo funkcijo Add() za dodajanje vrednosti na seznam. Tukaj je opisano, kako lahko dodate vrednosti na seznam C#:
Nizi proti seznamom : Primerjava uporabe v C #
Dostop do vrednot
Do vrednosti v nizu števil se dostopa z uporabo indeksnega zapisa [], tj. z uporabo indeksne številke v oklepaju in se shrani v drugo spremenljivko.
element tipa = ArrayName [ kazalo ] ;Za dostop do vrednosti na seznamu C# lahko uporabite tudi zapis indeksa [] skupaj z želenim položajem indeksa, podobno kot pri nizih.
element tipa = ListName [ kazalo ] ;
Odstranjevanje vrednosti
Nizi imajo nastavljeno dolžino. Zato je treba za odstranitev elementov ustvariti nov niz z manjšo velikostjo in kopirati obstoječe elemente. To lahko storite z uporabo funkcije Array.Copy(), kot je razloženo v razdelku »Dodajanje vrednosti«. Na seznamih C# je odstranjevanje vrednosti veliko enostavnejše in bolj intuitivno. Razred List
Preštejte vrednosti
Če želite prešteti vrednosti v matriki C#, lahko uporabite atribut dolžine matrike. Lastnost dolžine vam poda skupno število vrednosti v matriki.
int štetje = arrayName. Dolžina ;Če želite prešteti vrednosti na seznamu C#, lahko uporabite funkcijo »štetje« seznama. Skupno število elementov, ki se trenutno nahajajo na seznamu, prav tako vrne atribut »count«.
int štetje = listName. štetje ;Ponovite vrednosti
Za ponavljanje vrednosti v matriki C# lahko uporabite zanko »for« z dolžino matrike kot pogojem zanke.
za ( int jaz = 0 ; jaz < ArrayName. Dolžina ; jaz ++ ) {tip e = arrayName [ jaz ] ;
Konzola. WriteLine ( je ) ;
}
Za ponavljanje vrednosti na seznamu C# lahko uporabite zanko »foreach«, saj poenostavlja postopek ponavljanja s samodejnim ponavljanjem elementov.
za vsakogar ( vnesite e v listName ) {Konzola. WriteLine ( je ) ;
}
Primer 1: nizi C#
Podana koda deklarira in inicializira matriko celih števil z imenom 'Arr' z dolžino 5 in dodeli vrednosti njenim elementom. Elementom matrike so dodeljene vrednosti 11, 12, 13, 14 in 15. Koda nato nadaljuje s prikazom elementov matrike z uporabo zanke »za«. Vsaka komponenta je prikazana v ločeni vrstici z uporabo metode Console.WriteLine().
Po prikazu izvirnih elementov koda spremeni element pri indeksu 2 tako, da mu dodeli novo vrednost 10. Nato koda prikaže spremenjeno matriko s ponovnim ponavljanjem elementov z uporabo zanke »za«. Nazadnje koda prikaže skupno število vrednosti, ki se nahajajo v matriki, z uporabo lastnosti »Arr.Length«, ki daje dolžino matrike.
z uporabo sistema ;razred Dummy {
statična praznina Glavni ( ) {
int [ ] Arr = novo int [ 5 ] { enajst , 12 , 13 , 14 , petnajst } ;
Konzola. WriteLine ( 'Elementi:' ) ;
za ( int jaz = 0 ; jaz < Arr. Dolžina ; jaz ++ )
{
Konzola. WriteLine ( Arr [ jaz ] ) ;
}
Arr [ 2 ] = 10 ;
Konzola. WriteLine ( 'Spremenjeno polje:' ) ;
za ( int jaz = 0 ; jaz < Arr. Dolžina ; jaz ++ )
{
Konzola. WriteLine ( Arr [ jaz ] ) ;
}
Konzola. WriteLine ( 'Število elementov: ' + Arr. Dolžina ) ;
}
}
Primer 2: Seznami C#
Naslednja podana koda prikazuje uporabo seznama C# za shranjevanje in upravljanje zbirke celih števil. Najprej koda inicializira seznam z imenom »Arr« s petimi celimi števili: 11, 12, 13, 14 in 15. To se doseže z uporabo razreda List
Nato program natisne sporočilo »Elements:« in nadaljuje s ponavljanjem vsakega elementa na seznamu z uporabo zanke »foreach«. Med vsako ponovitvijo se trenutni element natisne na konzolo z uporabo metode Console.WriteLine().
Nato koda spremeni vrednost na indeksu 2 seznama tako, da ji dodeli vrednost 10 (Arr[2] = 10). Ta vrstica spremeni tretji element na seznamu iz 13 v 10. Po spremembi program znova natisne sporočilo »Modified list:« in ponovi posodobljeni seznam ter natisne vsak element v konzolo. Koda nato prikaže število vrednosti na seznamu z uporabo »Arr.Count«. Ta lastnost vrne število elementov, ki so prisotni na seznamu, ki je v naslednjem scenariju 5.
Nazadnje koda odstrani element z vrednostjo 4 s seznama z uporabo metode Arr.Remove(4). Ta metoda išče podano vrednost na seznamu in odstrani njeno prvo pojavitev. Nazadnje program natisne sporočilo »Seznam po odstranitvi:« in še enkrat pregleda seznam ter prikaže vse preostale elemente po odstranitvi.
z uporabo sistema ;z uporabo sistema. Zbirke . Generično ;
razred Dummy {
statična praznina Glavni ( ) {
Seznam < int > Arr = nov seznam < int > ( ) { enajst , 12 , 13 , 14 , petnajst } ;
Konzola. WriteLine ( 'Elementi:' ) ;
za vsakogar ( int n v prir )
{
Konzola. WriteLine ( n ) ;
}
Arr [ 2 ] = 10 ;
Konzola. WriteLine ( 'Spremenjen seznam:' ) ;
za vsakogar ( int n v prir )
{
Konzola. WriteLine ( n ) ;
}
Konzola. WriteLine ( 'Število elementov: ' + Arr. štetje ) ;
Arr. Odstrani ( 4 ) ;
Konzola. WriteLine ( 'Seznam po odstranitvi:' ) ;
za vsakogar ( int n v prir )
{
Konzola. WriteLine ( n ) ;
}
}
}
Zaključek
Ta vodnik je pokrival osnovne sintaksne razlike med nizi C# in seznami C#. Nizi imajo fiksno dolžino in se do njih dostopa z indeksom, medtem ko imajo seznami dinamično velikost in ponujajo dodatne metode za dodajanje in odstranjevanje elementov. Skupaj s tem smo zagotovili programe s seznami C#, ki prikazujejo deklaracijo, inicializacijo, dostopanje, spreminjanje, štetje in dodajanje elementov.