Списъците са специфична структура от данни, която позволява да се създават множество елементи от един тип. Например множество числа. Списъците като идея с много подобни на масивите, но имат редица предимства като. За тези от Вас, които до сега са работили с масиви проблемите изброени по-долу ще са познати:
Списъците съдържат множество елементи от един и същ тип. За да декларираме един списък трябва да определим от какъв тип ще са те. Ето структурата на декларирането.
List<тип> име = new List<тип>();
На мястото на “тип” трябва да се определи от какъв тип да са елементите му. Примерни типове са:
За именуването на списъка се спазват всички правила за задаване на име на променливи и обекти. Ето примерни декларации на списъци:
List years = new List();
List names = new List();
List temperatures = new List();
Всяка от горните команди ще създаде празен списък от съответния тип.
За да се добави нов елемент в списък се използва функцията Add(Елемент), която се съдържа в самия списък. Ето пример:
List years = new List();
years.Add(2018);
Така списъка years съдържа един елемент от тип int със сотйнсот 2018. Функцията Add добавя елемента в края на списъка след всички останали елементи. Тя поема един параметър, който е стойността на елемента, който ще се добави.
За да се вмъкват елементи в началото или по средата на списъка се използва Insert функцията. Тя поема два параметъра:
Ето примерно вмъкване на елемент в списък:
List years = new List();
years.Add(2011);
years.Add(1993);
years.Add(2015);
years.Add(2019);
years.Insert(2, 1996);
Така елементът ще се добави на мястото на втори елемент. Много важно е да се отбележи, че номерацията на елементите не започва от 1ви, а от нулев. Така новият елемент ще се вмъкне точно след елемента с индекс едно – 1993 и елемента с индекс 2 – 2015. След вмъкването елементите на списъка ще са { 2011, 1993, 1996, 2015, 2019 }.
За да се изпълни успешно функцията Insert e нужно номера на индекса да е цяло положително число, което е по-малко или равно на броя на елементие в списъка.
Има възможност да се добавят множество елементи наведнъж. Те могат да са в масив, или друг списък. Това се постига чрез функцията AddRange().
int[] array = new int[]{ 3, 6, 12, 32, 8 };
List list = new List();
list.AddRange(array);
За изтриване на елемент се използвафункцията Remove(елемент). Tя изтрива елемент, като го търси по стойност.
List list = new List(new double[]{ 3.2, 52.6, 12.4, 6.0 });
list.Remove(12.4);
list.Remove(3.2);
Командата на втори ред ще премахне елемента със стойност “12.4”. Тази на трети ред ще изтрие първият елемент със стойност “3.2”.
С помощта на функцията RemoveAt(Индекс) може да се премахват елементи по индекс. Индексът е число, което показва поредният номер на елемента, като започва от нула.
List list = new List(new double[]{ 3.2, 52.6, 12.4, 6.0 });
list.RemoveAt(1);
Това ще премахне числото 52.6, което е второ подред в списъка, но е с индекс 1. Задължително условие, за да се изпълни функцията RemoveAt(), е индексът да е в рамките на списъка. Това означава да е число по-голямо или равно на нула и по-малко от броя елементи в списъка.
Достъпването на елементи става по индекс с операцията “индексиране”. Ако в един списък има 10 елемента техните индекси са от нулев, до девети. Чрез индексирането се достъпва един конкретен елемент на списъка, което дава възможност неговата сойност да се промени, или прочете.
List list = new List(new double[]{ 3.2, 52.6, 12.4, 6.0 });
list[1] = 5;
Console.WriteLine(list[2]);
За намирането на елементи има много начини, но тук ние ще разгледаме работата с функцията IndexOf(Елемент). Тя поема стойността на елемента, който се търси и връща индекса на първия елемент с тази стойност в дадения C# List. В случай, че елемента не съществува, функцията връща -1.
List list = new List();
list.AddRange(new int[]{4, 7, 43, 21, 3, 2});
int index = list.IndexOf(7);
/* index = 1 */
int index2 = list.IndexOf(30);
/* index2 = -1, защото няма стойност 30 */
На този линк можете да намерите документация с всички пропъртита и методи на списъците в C#.
© Юпитер Софт ЕООД
ЕИК: 201587848
Седалище:БЪЛГАРИЯ, гр. Пловдив (4000), р-н Източен, бул.ИЗТОЧЕН, 80
Тел: +359 89 300 87 83
Сайтът „Аз програмирам“ / „Юпитер Софт Академия“ се управлява и поддържа от „Юпитер Софт“ ЕООД.
Индивидуални частни уроци, водени от професионален програмист!
Най-добрият начин да се научиш да програмирашI