Ключевое различие - универсальная и не универсальная коллекция в C #
Универсальная коллекция - это класс, который обеспечивает безопасность типов без необходимости быть производным от базового типа коллекции и реализовывать зависящие от типа члены. Неуниверсальная коллекция - это специализированный класс для хранения и извлечения данных, который обеспечивает поддержку стеков, очередей, списков и хэш-таблиц. Ключевое различие между универсальной и неуниверсальной коллекциями в C # заключается в том, что универсальная коллекция строго типизирована, а не универсальная коллекция - не строго типизирована.
СОДЕРЖАНИЕ
1. Обзор и ключевое различие
2. Что такое универсальная коллекция в C #
3. Что такое неуниверсальная коллекция в C #
4. Сходства между универсальной и неуниверсальной коллекциями в C #
5. Сравнение бок о бок - универсальная и не универсальная коллекция в C # в табличной форме
6. Резюме
Что такое универсальная коллекция в C #?
Неуниверсальные коллекции, такие как ArrayList, Queue, Stack и т. Д., Могут хранить элементы разных типов данных. При получении элементов программист должен привести их к правильному типу данных. В противном случае это может вызвать исключение во время выполнения. Для решения этой проблемы можно использовать универсальные классы коллекций. Общие коллекции хранят элементы внутри в массивах их фактических типов. Следовательно, приведение типов не требуется. Их можно использовать для хранения элементов указанного типа или типов. Некоторые общие классы коллекций: List, Dictionary, SortedList, HashSet, Queue, Stack.
GenericList содержит элементы указанного типа. Он может соответственно увеличивать список при добавлении элементов. Когда есть следующий оператор, все элементы, которые могут быть сохранены в list1, должны быть целыми числами, Список list1 - новый список ();
Общий словарь в C # - это набор ключей и значений. Когда имеется следующий оператор, объект dictionary1 может хранить ключи типа int и значения строкового типа.
Dictionary dictionary1 = новый словарь ();
Коллекция Generic SortedList по умолчанию хранит пары ключ и значение в порядке возрастания ключа. Ниже в примере хранятся ключ типа int и значение строкового типа.
SortedList s0 = новый SortedList ();
Это несколько примеров для Generic Collection на C #. Эти коллекции могут хранить несколько значений указанных типов данных. Итак, они строго типизированы.
Что такое неуниверсальная коллекция в C #?
Массивы можно использовать для хранения нескольких элементов. Одним из недостатков является то, что он может хранить элементы одного и того же типа данных. В C # есть классы, которые можно использовать для хранения многих значений или объектов, известных как коллекции. Коллекции помогают хранить, обновлять, удалять, искать, сортировать объекты. Размер коллекции можно увеличивать или уменьшать динамически.
Некоторые неуниверсальные классы Collection - это ArrayList, SortedList, Stack, Queue и HashTable. Каждый класс коллекции реализует интерфейс IEnumerable. Это помогает перебирать элементы в коллекции с помощью цикла foreach.
ArrayList - альтернатива массиву. Если есть массив, который может хранить 10 элементов, он не может хранить 20 элементов. Если массив инициализирован 10 элементами, но хранит только 5 элементов, то остальные не используются. Следовательно, массив фиксируется. В ArrayList можно добавлять или удалять элементы в зависимости от индекса. Это позволяет динамическое распределение памяти. Метод sort можно использовать для сортировки элементов в порядке возрастания.
HashTable используется для представления коллекции пар ключ-значение. Они организованы на основе хэш-кода ключа. Следовательно, у каждого элемента есть пара «ключ-значение». Ключ может использоваться для доступа к определенному элементу в коллекции. Стек представляет собой доступ к элементам по принципу «последний пришел - первым ушел». Очередь используется для доступа к элементам в порядке очереди. Это некоторые из неуниверсальных коллекций, поддерживаемых C #. В этих коллекциях могут храниться элементы разных типов.
В чем сходство между универсальной и неуниверсальной коллекцией в C #?
Как Generic, так и Non-Generic Collection можно использовать для хранения нескольких элементов в C #
В чем разница между универсальной и необобщенной коллекцией в C #?
Различать статью в середине перед таблицей
Generic vs Non-Generic Collection в C # |
|
Универсальная коллекция - это класс, который обеспечивает безопасность типов без необходимости быть производным от базового типа коллекции и реализовывать зависящие от типа члены. | Неуниверсальная коллекция - это специализированный класс для хранения и извлечения данных, который обеспечивает поддержку стеков, очередей, списков и хеш-таблиц. |
Пространство имен | |
Классы Generic Collection находятся в System. Коллекции. Пространство имен Generics. | Классы Non -generic Collection находятся в System. Пространство имен коллекций. |
Тип | |
Общая коллекция строго типизирована. | Неуниверсальная коллекция не является строго типизированной. |
Хранение элементов | |
Общие коллекции хранят элементы внутри в массивах их фактических типов. | Неуниверсальные коллекции хранят элементы внутри объектных массивов, поэтому они могут хранить любой тип данных. |
Резюме: универсальная и не универсальная коллекция в C #
В этой статье обсуждалась разница между Generic и Non-generic Collection в C #. Разница между универсальной и неуниверсальной коллекцией заключается в том, что универсальная коллекция строго типизирована, а неуниверсальная коллекция не является строго типизированной.