Управление коллекциями и их создание

Наиболее распространенные коллекции предоставляются платформой .NET Framework. Любую из этих коллекций можно использовать, или можно создать собственную на основе одной из них. Каждая коллекция предназначена для определенных целей. Везде, где это возможно, следует предпочесть универсальные коллекции в пространстве имен System.Collections.Generic или System.Collections.Concurrent устаревшим типам в пространстве имен System.Collections.

При внедрении собственной коллекции, следует руководствоваться следующими принципами:

  • Начните с выбора правильного базового класса и интерфейсов. Советы по выбору типа коллекции см. в разделе Выбор класса коллекции.

  • Постарайтесь сделать свою коллекцию строго типизированной. Строго типизированные коллекции обеспечивают автоматическую проверку типа как во время компиляции, так и во время выполнения, и не выполняют операции, приводящие к снижению производительности, такие как упаковка, распаковка и преобразования. Если используемый язык программирования поддерживает универсальные шаблоны, то используйте один из типов System.Collections.Generic. Если же язык не поддерживает универсальные шаблоны, то можно воспользоваться System.Collections.Specialized, содержащим примеры строго типизированных коллекций.

  • Если коллекция будет доступна из нескольких потоков, необходимо использовать классы в пространстве имен System.Collections.Concurrent.

  • Постарайтесь обеспечить возможность сериализации для выбранного класса. Более подробные сведения см. в разделе: Концепции сериализации.

Связанные разделы

Название

Описание

Выбор класса коллекции

Содержит руководство по выбору наиболее подходящего типа коллекции.

Перечисление коллекции

Описывает перечислители и их использования с коллекциями.

Потокобезопасные коллекции

Описывает использование коллекций в многопоточных приложениях.

Сравнение и сортировка в коллекциях

Описывает использования сортировок и сравнений на равенство в коллекциях.

Коллекции и структуры данных

Описывает различные типы коллекций, доступных в платформе .NET Framework, включая стеки, очереди, списки, массивы и структуры.

Концепции сериализации

Поясняет два сценария, когда сериализация является полезной: при сохранении постоянных данных и передаче объектов между доменами приложений.

Справочные сведения

System.Collections

System.Collections.Specialized

System.Collections.Generic

System.Collections.Concurrent