Masyvai vs sąrašai: naudojimo palyginimas C#

Masyvai Vs Sarasai Naudojimo Palyginimas C



Masyvas C# yra elementų rinkinys su identiškais duomenų tipais ir apibrėžtu konkrečiu dydžiu. Tai yra gretima atminties dalis, kurioje išsaugomi elementai. Naudodami savo indeksą, C# masyvai siūlo greitą ir lengvą savavališką prieigą prie jų narių. Sąrašas yra dinamiška duomenų struktūra C# programavimo kalba, vaizduojanti identiškai įvestų komponentų grupę. Skirtingai nuo masyvų, sąrašai gali dinamiškai didėti arba mažėti, o tai leidžia efektyviai pridėti, pašalinti ir modifikuoti elementus. Šiame straipsnyje aptariami ir C# masyvų bei C# sąrašų panašumai ir skirtumai.

Deklaracija:

Masyvai deklaruojami naudojant 'type[] ArrayName;' sintaksė, kur tipas reiškia masyvo kolekcijos narių tipą, o „ArrName“ yra masyvui priskirtas pavadinimas. Masyvo deklaracija žymima laužtiniais skliaustais [].

tipo [ ] ArrayName = naujo tipo [ ] ;

Sąrašai deklaruojami naudojant „List LsName;“ sintaksė, kur tipas reiškia sąrašo elementų duomenų tipą, o „LsName“ yra sąrašui suteiktas pavadinimas. Kampiniai skliaustai rodo, kad tai yra bendro tipo deklaracija.







Sąrašas < tipo > sąrašo pavadinimas = naujas sąrašas < tipo > ( ) ;

Inicijavimas:

Masyvai naudoja riestinius skliaustus {}, kad įterptų reikšmes, o sąrašuose naudojamas naujas Sąrašo konstruktorius, po kurio eina riestiniai skliaustai {}, kad būtų įtrauktos reikšmės.



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

Sąrašas < tipo > sąrašo pavadinimas = naujas sąrašas < tipo > { v1 , v2 , v3 , ... } ;

Vertybių pridėjimas:

Labai svarbu atsiminti, kad C# masyvai turi tam tikrą dydį. Jei reikia kitokio dydžio, reikia sukurti naują norimo dydžio masyvą „newArr“ (dabartinis ilgis + naujų reikšmių skaičius). Pridėkite pradinį masyvą „OrgArr“ prie naujo masyvo ir priskirkite naujas reikšmes naujoms pozicijoms naujame masyve ir atnaujinkite nuorodą į naują masyvą.



Masyvas. Kopijuoti ( OrgArr , naujasArr , OrgArr. Ilgis ) ;

naujasArr [ OrgArr. Ilgis ] = 14 ; // nauja reikšmė

naujasArr [ OrgArr. Ilgis + 1 ] = 2 ; // nauja reikšmė

OrgArr = naujasArr ; // Atnaujinti nuorodą int[] NewArr = new int[OrgArr.Length + 2];

Sąrašai siūlo lankstumą valdant dydį. Kai sąrašas inicijuojamas, jis pradedamas nuo pradinės talpos, bet gali automatiškai išsiplėsti, kai pridedama daugiau elementų. Ši dinamiška dydžio keitimo galimybė leidžia sąrašams prisitaikyti prie kintančių reikalavimų. C# sąrašuose yra funkcija Add () pridėti reikšmes į sąrašą. Štai kaip galite pridėti reikšmių į C# sąrašą:





Masyvai vs sąrašai : Naudojimo palyginimas C #

Prieiga prie vertybių

Masyvo skaičių reikšmės pasiekiamos naudojant indekso žymėjimą [], t. y. naudojant indekso numerį skliausteliuose ir išsaugomos kitame kintamajame.

tipo elementas = ArrayName [ indeksas ] ;

Norėdami pasiekti C# sąrašo reikšmes, taip pat galite naudoti indekso žymėjimą [] kartu su norima indekso padėtimi, panašia į masyvus.



tipo elementas = Sąrašo pavadinimas [ indeksas ] ;

Vertybių pašalinimas

Masyvai turi nustatytą ilgį. Todėl norint pašalinti elementus, reikia sukurti naują mažesnio dydžio masyvą, o esamus elementus nukopijuoti. Tai galima padaryti naudojant funkciją Array.Copy(), kaip paaiškinta skyriuje „Verčių pridėjimas“. C# sąrašuose reikšmių pašalinimas yra daug paprastesnis ir intuityvesnis. Klasė List suteikia „pašalinimo“ metodą, leidžiantį pašalinti konkrečią reikšmę iš sąrašo.

sąrašo pavadinimas. Pašalinti ( elementas ) ;

Suskaičiuokite Vertybes

Norėdami suskaičiuoti reikšmes C# masyve, galite naudoti masyvo ilgio atributą. Ilgio savybė nurodo bendrą masyvo reikšmių skaičių.

tarpt skaičiuoti = masyvo pavadinimas. Ilgis ;

Norėdami suskaičiuoti reikšmes C# sąraše, galite naudoti sąrašo funkciją „skaičiuoti“. Bendras šiuo metu sąraše esančių elementų kiekis taip pat grąžinamas atributu „count“.

tarpt skaičiuoti = sąrašo pavadinimas. Suskaičiuoti ;

Pakartokite vertybes

Jei norite kartoti reikšmes C# masyve, kaip ciklo sąlygą galite naudoti ciklą „for“ su masyvo ilgiu.

dėl ( tarpt i = 0 ; i < ArrayName. Ilgis ; i ++ ) {

tipo e = masyvo pavadinimas [ i ] ;

Konsolė. WriteLine ( tai yra ) ;

}

Norėdami kartoti reikšmes C# sąraše, galite naudoti 'foreach' kilpą, nes ji supaprastina iteracijos procesą automatiškai kartodama elementus.

kiekvienam ( įveskite e sąrašeName ) {

Konsolė. WriteLine ( tai yra ) ;

}

1 pavyzdys: C# masyvai

Pateiktas kodas deklaruoja ir inicijuoja sveikųjų skaičių masyvą, pavadintą „Arr“, kurio ilgis yra 5, ir priskiria reikšmes jo elementams. Masyvo elementams priskirtos reikšmės yra 11, 12, 13, 14 ir 15. Tada kodas rodo masyvo elementus, naudodamas kilpą „for“. Kiekvienas komponentas rodomas atskiroje eilutėje naudojant Console.WriteLine() metodą.

Parodžius pradinius elementus, kodas modifikuoja 2 indekso elementą, priskirdamas jam naują reikšmę 10. Tada kodas rodo pakeistą masyvą, kartodamas elementus dar kartą, naudodamas „for“ kilpą. Galiausiai kodas rodo bendrą masyve esančių reikšmių skaičių, naudojant ypatybę „Arr.Length“, kuri suteikia masyvo ilgį.

naudojant Sistemą ;

klasės manekenas {

statinis tuštuma Pagrindinis ( ) {

tarpt [ ] Arr = naujas tarpt [ 5 ] { vienuolika , 12 , 13 , 14 , penkiolika } ;

Konsolė. WriteLine ( 'Elementai:' ) ;

dėl ( tarpt i = 0 ; i < Arr. Ilgis ; i ++ )

{

Konsolė. WriteLine ( Arr [ i ] ) ;

}

Arr [ 2 ] = 10 ;

Konsolė. WriteLine ( 'Modifikuotas masyvas:' ) ;

dėl ( tarpt i = 0 ; i < Arr. Ilgis ; i ++ )

{

Konsolė. WriteLine ( Arr [ i ] ) ;

}

Konsolė. WriteLine ( 'Elementų skaičius: ' + Arr. Ilgis ) ;

}

}

2 pavyzdys: C# sąrašai

Šis pateiktas kodas parodo C# sąrašo naudojimą sveikųjų skaičių rinkiniui saugoti ir manipuliuoti. Pirma, kodas inicijuoja sąrašą pavadinimu „Arr“ su penkiais sveikaisiais skaičiais: 11, 12, 13, 14 ir 15. Tai pasiekiama naudojant List klasę ir jos konstruktorių bei inicijavimo sintaksę.

Tada programa išspausdina pranešimą „Elementai:“ ir kartoja kiekvieną sąrašo elementą, naudodama „foreach“ kilpą. Kiekvienos iteracijos metu dabartinis elementas spausdinamas į konsolę naudojant Console.WriteLine() metodą.

Vėliau kodas pakeičia 2 sąrašo indekso reikšmę, priskirdamas jai reikšmę 10 (Arr[2] = 10). Ši eilutė pakeičia trečiąjį sąrašo elementą iš 13 į 10. Po modifikavimo programa vėl išspausdina pranešimą „Modified list:“ ir kartojasi per atnaujintą sąrašą, spausdindama kiekvieną elementą į konsolę. Tada kodas rodo reikšmių skaičių sąraše naudojant „Arr.Count“. Ši ypatybė grąžina sąraše esančių elementų skaičių, kuris pagal šį scenarijų yra 5.

Galiausiai kodas pašalina elementą, kurio reikšmė yra 4, iš sąrašo naudojant Arr.Remove(4) metodą. Šis metodas ieško nurodytos reikšmės sąraše ir pašalina pirmąjį jos pasireiškimą. Galiausiai programa išspausdina pranešimą „Sąrašas po pašalinimo:“ ir dar kartą perkelia sąrašą, parodydama kiekvieną likusį elementą po pašalinimo operacijos.

naudojant Sistemą ;

naudojant Sistemą. Kolekcijos . Bendras ;

klasės manekenas {

statinis tuštuma Pagrindinis ( ) {

Sąrašas < tarpt > Arr = naujas sąrašas < tarpt > ( ) { vienuolika , 12 , 13 , 14 , penkiolika } ;

Konsolė. WriteLine ( 'Elementai:' ) ;

kiekvienam ( tarpt n Arr )

{

Konsolė. WriteLine ( n ) ;

}

Arr [ 2 ] = 10 ;

Konsolė. WriteLine ( 'Pakeistas sąrašas:' ) ;

kiekvienam ( tarpt n Arr )

{

Konsolė. WriteLine ( n ) ;

}

Konsolė. WriteLine ( 'Elementų skaičius: ' + Arr. Suskaičiuoti ) ;

Arr. Pašalinti ( 4 ) ;

Konsolė. WriteLine ( 'Sąrašas po pašalinimo:' ) ;

kiekvienam ( tarpt n Arr )

{

Konsolė. WriteLine ( n ) ;

}

}

}

Išvada

Šis vadovas apėmė pagrindinius C# masyvų ir C# sąrašų sintaksės skirtumus. Masyvai yra fiksuoto ilgio ir pasiekiami naudojant indeksą, o sąrašų dydis yra dinamiškas ir suteikia papildomų elementų pridėjimo ir pašalinimo metodų. Be to, pateikėme C# sąrašo programas, kurios demonstruoja deklaravimą, inicijavimą, prieigą, modifikavimą, skaičiavimą ir elementų pridėjimą.