Коллекции в C#

Коллекции в C#

Коллекции  в  C#

В одной из предыдущих статей мы ознакомились с тем как создавать массивы в C#.
При этом, в отличие от примитивных типов данных, таких как: строки, числа, символы; массивы
делают возможным обработку группы таких объектов с заранее фиксированным количеством.
Массивы полезны для работы с коллекцией известного размера. Но часто мы не знаем, какое количество элементов нам нужно собрать и использовать. В таких ситуациях нам лучше использовать коллекции.
В сегодняшней статье мы ознакомимся с типом коллекций, а конкретнее списком в C#.

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

Для работы с коллекциями необходимо подключить пространство имен System.Collections.Generic в начале нашего файла.



using System.Collections.Generic;



Создание списка

Наиболее распространенным типом коллекции в C# является список List с параметром T. T является заполнителем для типа; когда мы создаем объект типа List, нам нужно указать тип элементов, которые будут содержаться в списке.



// List<T> - список



List<string> names = new List<string>();



Подобно массивам, список также можно инициализировать указанием элементов.



List<int> years = new List<int> { 2020, 2019, 2018, 2017, 2016 };



// Для доступа к элементам списка используем цикл foreach



foreach(var year in years)

{

    Console.WriteLine(year.ToString());

}



// Также доступ возможен по индексу



var day = daysOfTheWeek[3]; //"Thu"



// В заключении, мы можем добавить элементы к коллекции используя метод Add() 



List<string> daysOfTheWeek = new List<string> ();

daysOfTheWeek.Add("Sun");

daysOfTheWeek.Add("Mon");

daysOfTheWeek.Add("Tue");

daysOfTheWeek.Add("Wed");

daysOfTheWeek.Add("Thu");

daysOfTheWeek.Add("Fri");

daysOfTheWeek.Add("Sat");



Методы списков.

Списки и другие коллекции реализуют набор методов, которые позволяют разработчикам управлять списком и его элементами. Ниже приведен небольшой набор этих методов:



// мы можем создать список а затем инициализировать его

List<string> names = new List<string>();



names.Add("test name"); 

names.Add("second name");

names.Add("third name");





// проверяем находится ли значение в списке

bool exists = names.Contains("test name");  

Console.WriteLine(exists);



// True







// возвращает копию списка с элементами из диапазона 

List<string> aFewNames = names.GetRange(0, 2); 



// вставляем новую строку в позицию 2

names.Insert(2, "second and a half name"); 



// возвращает индекс элемента в списке

int index = names.IndexOf("test name"); 

Console.WriteLine(index);



// 0





// удаляет первый подходящий элемент

names.Remove("test name"); 





// полностью очищает список

names.Clear();  



Объединение списков

В C# можно объединить списки одного и того же типа в один с помощью метода AddRange():



List<string> names1 = new List<string> { "C#", "F#", "Kotlin"};

List<string> names2 = new List<string> { "Python", "JavaScript"};



names1.AddRange(names2); 





foreach(var el in names1)

{

    Console.WriteLine(el.ToString());

 }



/*вывод



C#

F#

Kotlin

Python

Javascript



*/



Таким образом мы мы научились создавать списки в C#, перебирать их поэлементно, а также использовали наиболее полезные методы для взаимодействия с ними.

Источник

НЕТ КОММЕНТАРИЕВ

Оставить комментарий