Масиви срещу списъци: Сравнение на използването в C#

Masivi Sresu Spis Ci Sravnenie Na Izpolzvaneto V C



Масивът в C# е набор от елементи с идентични типове данни и определен специфичен размер. Той представлява прилежаща част от паметта, където се записват елементите. Използвайки своя индекс, масивите в C# предлагат бърз и лесен произволен достъп до своите членове. Списъкът е динамична структура от данни в езика за програмиране C#, която представлява група от идентично въведени компоненти. За разлика от масивите, списъците могат динамично да растат или да се свиват по размер, което позволява ефективно добавяне, премахване и модифициране на елементи. Както приликите, така и разликите между C# масиви и C# списъци са обхванати в тази статия.

Декларация:

Масивите се декларират с помощта на „type[] ArrayName;“ синтаксис, където типът означава типа на членовете в колекцията от масиви, а „ArrName“ е заглавието, което е присвоено на масива. Декларация на масив се означава с квадратни скоби [].

Тип [ ] ArrayName = нов тип [ ] ;

Списъците се декларират с помощта на „List LsName;“ синтаксис, където типът представлява типа данни на елементите в списъка, а „LsName“ е името, което се дава на списъка. Ъгловите скоби показват, че това е обща декларация на тип.







списък < Тип > listName = нов списък < Тип > ( ) ;

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

Масивите използват фигурни скоби {}, за да затворят стойностите, докато списъците използват новия конструктор List, последван от фигурни скоби {}, за да затворят стойностите.



Тип [ ] ArrayName = { v1 , v2 , v3 , ... } ;

списък < Тип > listName = нов списък < Тип > { v1 , v2 , v3 , ... } ;

Добавяне на стойности:

Важно е да запомните, че C# масивите имат определен размер. Ако се изисква различен размер, трябва да се създаде нов масив „newArr“ с желания размер (текуща дължина + брой нови стойности). Добавете оригиналния масив „OrgArr“ към новия масив и присвоете новите стойности на новите позиции в новия масив и актуализирайте препратката към новия масив.



Масив. копие ( OrgArr , newArr , OrgArr. Дължина ) ;

newArr [ OrgArr. Дължина ] = 14 ; // нова стойност

newArr [ OrgArr. Дължина + 1 ] = 2 ; // нова стойност

OrgArr = newArr ; // Актуализиране на препратката int[] NewArr = new int[OrgArr.Length + 2];

Списъците предлагат гъвкавост по отношение на управлението на размера. Когато списъкът се инициализира, той започва с първоначален капацитет, но може да се разширява автоматично, когато се добавят повече елементи. Тази възможност за динамично преоразмеряване позволява на списъците да се адаптират към променящите се изисквания. C# списъците предоставят функция Add() за добавяне на стойностите към списъка. Ето как можете да добавите стойности към C# списък:





Масиви срещу списъци : Сравнение на употребата в C #

Достъп до ценностите

Стойностите в числата на масива са достъпни с помощта на индексната нотация [], т.е. с помощта на индексния номер в скобите и се записва в друга променлива.

тип елемент = ArrayName [ индекс ] ;

За достъп до стойностите в C# списък можете също да използвате индексната нотация [] заедно с желаната индексна позиция, подобно на масиви.



тип елемент = ListName [ индекс ] ;

Премахване на стойностите

Масивите имат зададена дължина. Следователно, за да се премахнат елементите, трябва да се създаде нов масив с по-малък размер и съществуващите елементи трябва да се копират. Това може да стане чрез използване на функцията Array.Copy(), както е обяснено в раздела „Добавяне на стойности“. В списъците на C# премахването на стойностите е много по-лесно и по-интуитивно. Класът List предоставя метод за „премахване“, който ви позволява да премахнете конкретна стойност от списъка.

listName. Премахване ( елемент ) ;

Пребройте стойностите

За да преброите стойностите в C# масив, можете да използвате атрибута за дължина на масива. Свойството length ви дава общия брой стойности в масива.

вътр броя = име на масив. Дължина ;

За да преброите стойностите в C# списък, можете да използвате функцията за „броене“ на списъка. Общото количество елементи, които в момента се намират в списъка, също се връща от атрибута „count“.

вътр броя = listName. Броя ;

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

За да итерирате стойности в C# масив, можете да използвате цикъл „for“ с дължината на масива като условие за цикъл.

за ( вътр i = 0 ; i < ArrayName. Дължина ; i ++ ) {

тип e = име на масив [ i ] ;

Конзола. WriteLine ( то е ) ;

}

За да итерирате стойностите в C# списък, можете да използвате цикъл „foreach“, тъй като той опростява процеса на итерация чрез автоматично итериране на елементите.

за всеки ( въведете e в listName ) {

Конзола. WriteLine ( то е ) ;

}

Пример 1: C# масиви

Даденият код декларира и инициализира целочислен масив с име “Arr” с дължина 5 и присвоява стойностите на неговите елементи. Присвоените стойности на елементите на масива са 11, 12, 13, 14 и 15. След това кодът продължава да показва елементите на масива с помощта на цикъл „for“. Всеки компонент се показва на отделен ред с помощта на метода Console.WriteLine().

След показване на оригиналните елементи, кодът модифицира елемента в индекс 2, като му присвоява нова стойност 10. След това кодът показва модифицирания масив чрез итерация през елементите отново с помощта на цикъл „for“. И накрая, кодът показва общия брой стойности, които се намират в масива, като използва свойството „Arr.Length“, което дава дължината на масива.

използвайки System ;

клас Dummy {

статичен невалиден Основен ( ) {

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

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

за ( вътр i = 0 ; i < обр. Дължина ; i ++ )

{

Конзола. WriteLine ( обр [ i ] ) ;

}

обр [ 2 ] = 10 ;

Конзола. WriteLine ( „Модифициран масив:“ ) ;

за ( вътр i = 0 ; i < обр. Дължина ; i ++ )

{

Конзола. WriteLine ( обр [ i ] ) ;

}

Конзола. WriteLine ( 'Брой елементи: ' + обр. Дължина ) ;

}

}

Пример 2: C# списъци

Следният предоставен код демонстрира използването на C# списък за съхраняване и манипулиране на колекция от цели числа. Първо, кодът инициализира списък с име „Arr“ с пет цели числа: 11, 12, 13, 14 и 15. Това се постига с помощта на класа List и неговия конструктор заедно със синтаксис на инициализатор.

След това програмата отпечатва съобщението „Elements:“ и продължава да обикаля всеки елемент в списъка с помощта на цикъл „foreach“. По време на всяка итерация текущият елемент се отпечатва на конзолата с помощта на метода Console.WriteLine().

След това кодът променя стойността в индекс 2 на списъка, като й присвоява стойност 10 (Arr[2] = 10). Този ред променя третия елемент в списъка от 13 на 10. След модификацията програмата отново отпечатва съобщението „Модифициран списък:“ и обикаля актуализирания списък, като отпечатва всеки елемент на конзолата. След това кодът показва броя на стойностите в списъка с помощта на „Arr.Count“. Това свойство връща броя на елементите, присъстващи в списъка, който в следния сценарий е 5.

И накрая, кодът премахва елемента със стойност 4 от списъка с помощта на метода Arr.Remove(4). Този метод търси посочената стойност в списъка и премахва първото й появяване. Накрая програмата отпечатва съобщението „Списък след премахване:“ и итерира списъка още веднъж, показвайки всеки оставащ елемент след операцията по премахване.

използвайки System ;

използвайки System. Колекции . Generic ;

клас Dummy {

статичен невалиден Основен ( ) {

списък < вътр > обр = нов списък < вътр > ( ) { единадесет , 12 , 13 , 14 , петнадесет } ;

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

за всеки ( вътр n в обр )

{

Конзола. WriteLine ( н ) ;

}

обр [ 2 ] = 10 ;

Конзола. WriteLine ( „Променен списък:“ ) ;

за всеки ( вътр n в обр )

{

Конзола. WriteLine ( н ) ;

}

Конзола. WriteLine ( 'Брой елементи: ' + обр. Броя ) ;

обр. Премахване ( 4 ) ;

Конзола. WriteLine ( „Списък след премахване:“ ) ;

за всеки ( вътр n в обр )

{

Конзола. WriteLine ( н ) ;

}

}

}

Заключение

Това ръководство обхваща основните разлики в синтаксиса между C# масивите и C# списъците. Масивите са с фиксирана дължина и достъпът до тях е по индекс, докато списъците са с динамичен размер и предоставят допълнителни методи за добавяне и премахване на елементи. Заедно с това предоставихме програмите със списък C#, които показват декларацията, инициализацията, достъпа, модифицирането, преброяването и добавянето на елементите.