Nizovi protiv popisa: Usporedba upotrebe u C#

Nizovi Protiv Popisa Usporedba Upotrebe U C



Niz u C# je skup stavki s identičnim tipovima podataka i definiranom specifičnom veličinom. Predstavlja susjedni dio memorije gdje se spremaju elementi. Koristeći svoj indeks, nizovi u C# nude brz i jednostavan proizvoljan pristup svojim članovima. Popis je dinamička struktura podataka u programskom jeziku C# koja predstavlja skupinu identično tipiziranih komponenti. Za razliku od nizova, popisi mogu dinamički rasti ili se smanjivati, što omogućuje učinkovito dodavanje, uklanjanje i modificiranje elemenata. I sličnosti i razlike između C# polja i C# popisa pokrivene su u ovom članku.

deklaracija:

Nizovi se deklariraju pomoću 'type[] ArrayName;' sintaksu gdje tip označava vrstu članova u kolekciji polja, a 'ArrName' je naslov koji je dodijeljen nizu. Deklaracija niza označava se uglatim zagradama [].

tip [ ] ArrayName = novi tip [ ] ;

Popisi se deklariraju pomoću “List LsName;” sintaksu gdje tip predstavlja tip podataka elemenata na popisu, a 'LsName' je naziv koji se daje popisu. Uglaste zagrade označavaju da se radi o generičkoj deklaraciji tipa.







Popis < tip > lista imena = novi popis < tip > ( ) ;

Inicijalizacija:

Nizovi koriste vitičaste zagrade {} da bi zatvorili vrijednosti, dok popisi koriste novi List konstruktor iza kojeg slijede vitičaste zagrade {} da bi zatvorili vrijednosti.



tip [ ] ArrayName = { v1 , v2 , v3 , ... } ;

Popis < tip > lista imena = novi popis < tip > { v1 , v2 , v3 , ... } ;

Dodavanje vrijednosti:

Ključno je zapamtiti da C# nizovi imaju određenu veličinu. Ako je potrebna drugačija veličina, potrebno je stvoriti novi niz 'newArr' sa željenom veličinom (trenutna duljina + broj novih vrijednosti). Dodajte izvorni niz 'OrgArr' u novi niz i dodijelite nove vrijednosti novim pozicijama u novom nizu i ažurirajte referencu na novi niz.



Niz. Kopirati ( OrgArr , noviArr , OrgArr. Duljina ) ;

noviArr [ OrgArr. Duljina ] = 14 ; // nova vrijednost

noviArr [ OrgArr. Duljina + 1 ] = 2 ; // nova vrijednost

OrgArr = noviArr ; // Ažuriranje reference int[] NewArr = new int[OrgArr.Length + 2];

Popisi nude fleksibilnost u pogledu upravljanja veličinom. Kada se popis inicijalizira, počinje s početnim kapacitetom, ali se može automatski proširiti kako se doda više elemenata. Ova mogućnost dinamičke promjene veličine omogućuje prilagodbu popisa promjenjivim zahtjevima. C# popisi pružaju funkciju Add() za dodavanje vrijednosti na popis. Evo kako možete dodati vrijednosti na C# popis:





Nizovi vs popisi : Usporedba upotrebe u C #

Pristup vrijednostima

Vrijednostima u nizu brojeva pristupa se korištenjem oznake indeksa [], tj. korištenjem broja indeksa u zagradama i sprema se u drugu varijablu.

element tipa = ArrayName [ indeks ] ;

Za pristup vrijednostima u C# popisu, također možete koristiti indeksnu notaciju [] zajedno sa željenom pozicijom indeksa slično nizovima.



element tipa = Lista imena [ indeks ] ;

Uklanjanje vrijednosti

Nizovi imaju zadanu duljinu. Stoga, da bi se uklonili elementi, mora se stvoriti novi niz s manjom veličinom, a postojeći elementi moraju se kopirati. To se može učiniti korištenjem funkcije Array.Copy() kao što je objašnjeno u odjeljku 'Dodavanje vrijednosti'. U C# listama, uklanjanje vrijednosti puno je jednostavnije i intuitivnije. Klasa List pruža metodu 'ukloni' koja vam omogućuje uklanjanje određene vrijednosti s popisa.

lista imena. Ukloniti ( element ) ;

Prebrojite vrijednosti

Za brojanje vrijednosti u C# nizu, možete koristiti atribut duljine niza. Svojstvo length daje vam ukupan broj vrijednosti u nizu.

int računati = naziv polja. Duljina ;

Za prebrojavanje vrijednosti u C# popisu, možete upotrijebiti značajku 'brojanja' popisa. Ukupnu količinu elemenata koji se trenutno nalaze na popisu također vraća atribut 'count'.

int računati = lista imena. Računati ;

Ponovite vrijednosti

Za ponavljanje vrijednosti u C# nizu, možete koristiti petlju 'for' s duljinom niza kao uvjetom petlje.

za ( int ja = 0 ; ja < ArrayName. Duljina ; ja ++ ) {

tip e = naziv polja [ ja ] ;

Konzola. WriteLine ( to je ) ;

}

Za ponavljanje vrijednosti u C# popisu, možete koristiti petlju 'foreach' jer pojednostavljuje proces ponavljanja automatskim ponavljanjem preko elemenata.

za svakoga ( upišite e u listName ) {

Konzola. WriteLine ( to je ) ;

}

Primjer 1: C# nizovi

Zadani kod deklarira i inicijalizira niz cijelih brojeva pod nazivom “Arr” duljine 5 i dodjeljuje vrijednosti njegovim elementima. Dodijeljene vrijednosti elementima niza su 11, 12, 13, 14 i 15. Kod zatim nastavlja s prikazom elemenata niza pomoću petlje 'for'. Svaka se komponenta prikazuje u zasebnom retku pomoću metode Console.WriteLine().

Nakon prikazivanja originalnih elemenata, kod mijenja element na indeksu 2 dodjeljivanjem nove vrijednosti 10. Zatim, kod prikazuje modificirani niz ponavljanjem kroz elemente ponovnim korištenjem 'for' petlje. Na kraju, kod prikazuje ukupan broj vrijednosti koje se nalaze u nizu pomoću svojstva 'Arr.Length' koje daje duljinu niza.

pomoću sustava ;

klasa Dummy {

statički poništiti Glavni ( ) {

int [ ] Arr = novi int [ 5 ] { jedanaest , 12 , 13 , 14 , petnaest } ;

Konzola. WriteLine ( 'Elementi:' ) ;

za ( int ja = 0 ; ja < Arr. Duljina ; ja ++ )

{

Konzola. WriteLine ( Arr [ ja ] ) ;

}

Arr [ 2 ] = 10 ;

Konzola. WriteLine ( 'Modificirani niz:' ) ;

za ( int ja = 0 ; ja < Arr. Duljina ; ja ++ )

{

Konzola. WriteLine ( Arr [ ja ] ) ;

}

Konzola. WriteLine ( 'Broj elemenata: ' + Arr. Duljina ) ;

}

}

Primjer 2: C# liste

Sljedeći navedeni kod demonstrira upotrebu C# liste za pohranjivanje i rukovanje kolekcijom cijelih brojeva. Prvo, kod inicijalizira popis pod nazivom “Arr” s pet cijelih brojeva: 11, 12, 13, 14 i 15. To se postiže pomoću klase List i njenog konstruktora zajedno sa sintaksom inicijalizatora.

Zatim program ispisuje poruku 'Elements:' i nastavlja ponavljati svaki element na popisu koristeći petlju 'foreach'. Tijekom svake iteracije, trenutni element ispisuje se na konzolu pomoću metode Console.WriteLine().

Nakon toga, kod mijenja vrijednost na indeksu 2 popisa dodjeljivanjem vrijednosti 10 (Arr[2] = 10). Ovaj redak mijenja treći element na popisu s 13 na 10. Nakon izmjene, program ponovno ispisuje poruku 'Modified list:' i ponavlja ažurirani popis, ispisujući svaki element na konzoli. Kôd zatim prikazuje broj vrijednosti na popisu koristeći “Arr.Count”. Ovo svojstvo vraća broj stavki koje su prisutne na popisu koji je, u sljedećem scenariju, slučajno 5.

Na kraju, kod uklanja element s vrijednošću 4 s popisa pomoću metode Arr.Remove(4). Ova metoda traži navedenu vrijednost na popisu i uklanja njezino prvo pojavljivanje. Na kraju, program ispisuje poruku 'Popis nakon uklanjanja:' i još jednom prelazi preko popisa, prikazujući svaki preostali element nakon operacije uklanjanja.

pomoću sustava ;

pomoću sustava. Zbirke . Generički ;

klasa Dummy {

statički poništiti Glavni ( ) {

Popis < int > Arr = novi popis < int > ( ) { jedanaest , 12 , 13 , 14 , petnaest } ;

Konzola. WriteLine ( 'Elementi:' ) ;

za svakoga ( int n u Arr )

{

Konzola. WriteLine ( n ) ;

}

Arr [ 2 ] = 10 ;

Konzola. WriteLine ( 'Izmijenjeni popis:' ) ;

za svakoga ( int n u Arr )

{

Konzola. WriteLine ( n ) ;

}

Konzola. WriteLine ( 'Broj elemenata: ' + Arr. Računati ) ;

Arr. Ukloniti ( 4 ) ;

Konzola. WriteLine ( 'Popis nakon uklanjanja:' ) ;

za svakoga ( int n u Arr )

{

Konzola. WriteLine ( n ) ;

}

}

}

Zaključak

Ovaj vodič pokriva osnovne razlike u sintaksi između C# nizova i C# popisa. Nizovi imaju fiksnu duljinu i pristupa im se putem indeksa, dok su popisi dinamičke veličine i pružaju dodatne metode za dodavanje i uklanjanje elemenata. Uz to, osigurali smo C# liste programa koji prikazuju deklaraciju, inicijalizaciju, pristup, modificiranje, brojanje i dodavanje elemenata.