Виды коллекций в C#

Виды коллекций в C#

Виды коллекций в C#

Как известно основным строительным блоком при создании программ являются переменные и структуры данных. И C# не является исключением. И каждый тип данных имеет собственное представление, и набор функций.

В C# есть множество типов. Одни из них это коллекции, включающие в себя список, словарь, очередь и так далее. В одной из статей мы рассматривали что представляет из себя список с параметром. И в сегодняшней статье мы рассмотрим оставшиеся типы коллекций: словарь, очередь, и стек.

И прежде вспомним что такое коллекции.
Коллекции — это группы элементов одного типа, но с регулируемым размером; они более гибкие, чем массивы. Коллекции включают базовый класс List, а также более специализированные классы Dictionary, Queue и Stack, а также другие.
Все они находятся в пространстве имен System.Collections.Generic.

Словарь.

Словарь (Dictionary) представляет из себя тип данных, в котором каждому набору значений соответствует один ключ. Т.е. он хранит данные в виде ключ-значение.

Чтобы добавить новые данные, используем как и в случае со списками метод Add().



// обязательно подключаем данную библиотеку

using System.Collections.Generic



Dictionary<string, string> imageTypes = new Dictionary<string, string>();



//imageTypes.Add("key", "value");

imageTypes.Add("bmp", "Bitmap");

imageTypes.Add("jpeg", "Joint Photographic Experts Group");

imageTypes.Add("png", "Portable Network Graphics");

imageTypes.Add("gif", "Graphics Interchange Format");



// Также в случае добавление в словарь, существующего ключа метод // Add вызовет исключение 



imageTypes.Add("jpeg", "JPEG"); //EXCEPTION



// System.ArgumentException: "An item with the same key has already 



// Для извлечения значения из словаря исподьзуем ключ



string name = imageTypes["png"]; //"Portable Network Graphics"





Очередь.

Очередь (Queue)— это структура реализующая концепцию первым пришел — первым вышел. Это означает, что элементы коллекции будут удалены из коллекции в том же порядке, в котором они были добавлены.



// Для добавления элементов в очередь используем метод Enqueue(),

// а для удаления Dequeue()



Queue<int> orders = new Queue<int>();

orders.Enqueue(1);

orders.Enqueue(2);

orders.Enqueue(3);

orders.Enqueue(4);



var firstValue = orders.Dequeue(); //1

var secondValue = orders.Dequeue(); //2



Стек.

Стек (Stack)- это набор элементов, реализованных в стиле последним пришел- первым вышел. Это означает, что самый последний добавленный элемент будет удален первым. Элементы, добавленные в стопку, называются вытесненными или pushed, а удаленные элементы называются выскочившими- popped.



// Для добавления элементов в Стек используем метод Push(),

// а для удаления метод Pop()



Stack<int> elements = new Stack<int>();

elements.Push(1);

elements.Push(2);

elements.Push(3);

elements.Push(4);



var firstValue = elements.Pop(); //4

var secondValue = elements.Pop(); //3





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

Источник

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

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