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для доступа к элементам коллекции битового массива; индекс начинается с нуля. |