C# Коллекция

В C#,класс Collection— этоспециально предназначенный для хранения и извлечения данныхтип класса.

Коллекции позволяют нам легко хранить, управлять и выполнять операции с набором данных, например:

  • Доступ к элементам списка по индексу;
  • Доступ к значениям в словаре по ключу;
  • Динамически добавлять или удалять элементы и т. д.

Классы коллекций предоставляют множество распространённых структур данных, таких как:

  • Stack— структура «последним пришёл — первым вышел» (LIFO);
  • Queue— структура «первым пришёл — первым вышел» (FIFO);
  • List— упорядоченная последовательность, которую можно динамически расширять;
  • HashTable— быстрый поиск данных по парам ключ-значение.

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

В ранних версиях C# элементы в коллекциях обычно хранились какObjectтип object, и мы могли помещать любые данные в коллекцию, потому что objectОбъекты любого типа. Это потому, что в C#,Objectявляется базовым классом для всех типов данных — будь тоint、stringили пользовательские классы, в конечном счёте наследуются отObject。

различные классы коллекций и их использование

Ниже приведены различные часто используемыеSystem.Collectionклассы в пространстве имен. Нажмите на ссылку ниже, чтобы узнать подробности.

КлассОписание и использование
Динамический массив (ArrayList)Он представляет упорядоченную коллекцию [объектов], которые можно индивидуальноиндексировать.

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

Hashtableон используетключдля доступа к элементам в коллекции.

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

SortedListОн может использоватьключииндексдля доступа к элементам в списке.

Упорядоченный список — это комбинация массива и хеш-таблицы. Он содержит список, элементы которого доступны по ключу или индексу. Если вы получаете доступ к элементам по индексу, это динамический массив (ArrayList); если по ключу — это хеш-таблица (Hashtable). Элементы в коллекции всегда отсортированы по значению ключа.

СтекОн представляет собой коллекцию объектов, работающую по принципупоследним пришел — первым ушел.

Когда вам нужен доступ к элементам по принципу «последним пришёл — первым вышел», используйте стек. Когда вы добавляете элемент в список, это называетсяPushэлемента, а когда вы удаляете элемент из списка, это называетсяPopэлемента.

ОчередьОн представляет коллекцию объектов, работающую по принципупервым пришёл — первым вышел.

Когда вам нужен доступ к элементам по принципу «первым пришёл — первым вышел», используйте очередь. Когда вы добавляете элемент в список, это называетсяEnqueue, а когда вы удаляете элемент из списка, это называетсяDequeue。

Битовый массив (BitArray)Он представляет значение, выраженное с использованием значений 1 и 0, —двоичныймассив.

Когда вам нужно хранить биты, но вы не знаете количество битов заранее, используйте битовый массив. Вы можете использоватьInteger Indexдля доступа к элементам коллекции битового массива; индекс начинается с нуля.

Другие расширения