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