Низови и листе: Поређење употребе у Ц#

Nizovi I Liste Poredene Upotrebe U C



Низ у Ц# је скуп ставки са идентичним типовима података и дефинисаном специфичном величином. Представља суседни део меморије где се елементи чувају. Користећи свој индекс, низови у Ц#-у нуде брз и лак произвољан приступ својим члановима. Листа је динамичка структура података у програмском језику Ц# која представља групу идентично откуцаних компоненти. За разлику од низова, листе могу динамички да расту или да се смањују, што омогућава ефикасно додавање, уклањање и модификацију елемената. И сличности и разлике између Ц# низова и Ц# листа су покривене у овом чланку.

Декларација:

Низови се декларишу помоћу „типе[] АрраиНаме;“ синтакса где тип означава тип чланова у колекцији низа, а „АррНаме“ је наслов који је додељен низу. Декларација низа је означена угластим заградама [].

тип [ ] АрраиНаме = нови тип [ ] ;

Листе се декларишу помоћу „Лист<типе> ЛсНаме;“ синтаксу где тип представља тип података елемената на листи, а „ЛсНаме“ је име које је дато листи. Угаоне заграде <типе> означавају да је то генеричка декларација типа.







Листа < тип > листНаме = нова листа < тип > ( ) ;

Иницијализација:

Низови користе витичасте заграде {} за затварање вредности, док листе користе нови конструктор Лист<датаТипе> праћен витичастим заградама {} за затварање вредности.



тип [ ] АрраиНаме = { в1 , в2 , в3 , ... } ;

Листа < тип > листНаме = нова листа < тип > { в1 , в2 , в3 , ... } ;

Додавање вредности:

Кључно је запамтити да Ц# низови имају одређену величину. Ако је потребна другачија величина, потребно је креирати нови низ „невАрр“ са жељеном величином (тренутна дужина + број нових вредности). Додајте оригинални низ „ОргАрр“ новом низу и доделите нове вредности новим позицијама у новом низу и ажурирајте референцу на нови низ.



Низ. Копирај ( ОргАрр , невАрр , ОргАрр. Дужина ) ;

невАрр [ ОргАрр. Дужина ] = 14 ; // нова вредност

невАрр [ ОргАрр. Дужина + 1 ] = 2 ; // нова вредност

ОргАрр = невАрр ; // Ажурирај референцу инт[] НевАрр = нев инт[ОргАрр.Ленгтх + 2];

Листе нуде флексибилност у погледу управљања величином. Када се листа иницијализује, она почиње са почетним капацитетом, али се може аутоматски проширити како се додају додатни елементи. Ова могућност динамичке промене величине омогућава листама да се прилагоде променљивим захтевима. Ц# листе пружају функцију Адд() за додавање вредности на листу. Ево како можете да додате вредности на Ц# листу:





Низови против листа : Поређење употребе у Ц #

Приступ вредностима

Вредности у низу бројева приступа се коришћењем ознаке индекса [], односно помоћу броја индекса у заградама и чува се у другој променљивој.

елемент типа = АрраиНаме [ индекс ] ;

Да бисте приступили вредностима у Ц# листи, можете користити и ознаку индекса [] заједно са жељеном позицијом индекса сличном низовима.



елемент типа = ЛистНаме [ индекс ] ;

Уклањање вредности

Низови имају задату дужину. Стога, да бисте уклонили елементе, мора се креирати нови низ мање величине, а постојећи елементи морају бити копирани. Ово се може урадити коришћењем функције Арраи.Цопи() као што је објашњено у одељку „Додавање вредности“. У Ц# листама, уклањање вредности је много једноставније и интуитивније. Класа Лист<Т> обезбеђује метод „уклони“ који вам омогућава да уклоните одређену вредност са листе.

листНаме. Уклони ( елемент ) ;

Пребројте вредности

Да бисте пребројали вредности у Ц# низу, можете користити атрибут дужине низа. Својство дужине вам даје укупан број вредности у низу.

инт цоунт = арраиНаме. Дужина ;

Да бисте пребројали вредности у Ц# листи, можете користити функцију „бројања“ листе. Укупан број елемената који се тренутно налазе на листи се такође враћа атрибутом „цоунт”.

инт цоунт = листНаме. Цоунт ;

Поновите вредности

Да бисте итерирали вредности у низу Ц#, можете користити петљу „фор“ са дужином низа као условом петље.

за ( инт и = 0 ; и < АрраиНаме. Дужина ; и ++ ) {

тип е = арраиНаме [ и ] ;

Конзола. ВритеЛине ( То је ) ;

}

Да бисте итерирали вредности у Ц# листи, можете користити „фореацх“ петљу јер она поједностављује процес итерације аутоматским понављањем елемената.

за сваки ( укуцајте е у име листе ) {

Конзола. ВритеЛине ( То је ) ;

}

Пример 1: Ц# низови

Дати код декларише и иницијализује целобројни низ под називом „Арр“ дужине 5 и додељује вредности његовим елементима. Додељене вредности елементима низа су 11, 12, 13, 14 и 15. Код затим наставља да приказује елементе низа користећи петљу „фор“. Свака компонента се приказује на посебној линији помоћу методе Цонсоле.ВритеЛине().

Након приказивања оригиналних елемената, код модификује елемент са индексом 2 тако што му додељује нову вредност од 10. Затим, код приказује измењени низ понављањем кроз елементе помоћу петље „фор“. На крају, код приказује укупан број вредности које се налазе у низу користећи својство „Арр.Ленгтх“ које даје дужину низа.

користећи Систем ;

цласс Думми {

статична празнина Главни ( ) {

инт [ ] Арр = Нова инт [ 5 ] { Једанаест , 12 , 13 , 14 , петнаест } ;

Конзола. ВритеЛине ( 'Елементи:' ) ;

за ( инт и = 0 ; и < Арр. Дужина ; и ++ )

{

Конзола. ВритеЛине ( Арр [ и ] ) ;

}

Арр [ 2 ] = 10 ;

Конзола. ВритеЛине ( „Измењени низ:“ ) ;

за ( инт и = 0 ; и < Арр. Дужина ; и ++ )

{

Конзола. ВритеЛине ( Арр [ и ] ) ;

}

Конзола. ВритеЛине ( 'Број елемената: ' + Арр. Дужина ) ;

}

}

Пример 2: Ц# листе

Следећи обезбеђени код показује употребу Ц# листе за складиштење и манипулацију колекцијом целих бројева. Прво, код иницијализује листу под називом „Арр“ са пет целих бројева: 11, 12, 13, 14 и 15. Ово се постиже коришћењем класе Лист<Т> и њеног конструктора заједно са синтаксом иницијализатора.

Затим, програм штампа поруку „Елементи:“ и наставља са итерацијом преко сваког елемента на листи користећи „фореацх“ петљу. Током сваке итерације, тренутни елемент се штампа на конзоли помоћу методе Цонсоле.ВритеЛине().

Након тога, код мења вредност на индексу 2 листе тако што јој додељује вредност 10 (Арр[2] = 10). Ова линија мења трећи елемент на листи са 13 на 10. Након модификације, програм поново штампа поруку „Модификована листа:“ и прелази преко ажуриране листе, штампајући сваки елемент на конзоли. Код затим приказује број вредности на листи користећи „Арр.Цоунт“. Ово својство враћа број ставки које су присутне на листи, што је, у следећем сценарију, 5.

На крају, код уклања елемент са вредношћу 4 са листе користећи Арр.Ремове(4) метод. Овај метод тражи наведену вредност на листи и уклања њено прво појављивање. Коначно, програм штампа поруку „Листа након уклањања:“ и још једном прелази преко листе, приказујући сваки преостали елемент након операције уклањања.

користећи Систем ;

користећи Систем. Збирке . Општи ;

цласс Думми {

статична празнина Главни ( ) {

Листа < инт > Арр = нова листа < инт > ( ) { Једанаест , 12 , 13 , 14 , петнаест } ;

Конзола. ВритеЛине ( 'Елементи:' ) ;

за сваки ( инт н у Арр )

{

Конзола. ВритеЛине ( н ) ;

}

Арр [ 2 ] = 10 ;

Конзола. ВритеЛине ( „Измењена листа:“ ) ;

за сваки ( инт н у Арр )

{

Конзола. ВритеЛине ( н ) ;

}

Конзола. ВритеЛине ( 'Број елемената: ' + Арр. Цоунт ) ;

Арр. Уклони ( 4 ) ;

Конзола. ВритеЛине ( „Листа након уклањања:“ ) ;

за сваки ( инт н у Арр )

{

Конзола. ВритеЛине ( н ) ;

}

}

}

Закључак

Овај водич је покрио основне синтаксичке разлике између Ц# низова и Ц# листа. Низови имају фиксну дужину и приступа им се преко индекса, док су листе динамичке величине и пружају додатне методе за додавање и уклањање елемената. Уз то, обезбедили смо Ц# листе програма који приказују декларацију, иницијализацију, приступање, модификовање, бројање и додавање елемената.