Коллекции в C#

НАВИГАЦИЯ ПО СТРАНИЦЕ

List<T> Dictionary<TKey, TValue> HashSet<T> Queue<T> Stack<T> LinkedList<T> ObservableCollection<T>

В C# существует множество коллекций, предоставляющих различные способы хранения, организации и управления данными.

  1. List<T>:

    • List<T> — динамически расширяемый массив, который предоставляет простой способ хранения элементов одного типа.

      List<int> numbers = new List<int>();
      numbers.Add(1);
      numbers.Add(2);
  2. Dictionary<TKey, TValue>:

    • Dictionary<TKey, TValue> — представляет коллекцию пар ключ-значение, где каждый ключ уникален.

      Dictionary<string, int> ages = new Dictionary<string, int>();
      ages.Add("Alice", 25);
      ages.Add("Bob", 30);
  3. HashSet<T>:

    • HashSet<T> — коллекция, хранящая уникальные элементы, обеспечивая быстрый доступ к данным.

      HashSet<string> names = new HashSet<string>();
      names.Add("Alice");
      names.Add("Bob");
  4. Queue<T>:

    • Queue<T> — реализует структуру данных "очередь", элементы добавляются в конец и извлекаются с начала.

      Queue<int> queue = new Queue<int>();
      queue.Enqueue(1);
      queue.Enqueue(2);
      int firstItem = queue.Dequeue(); // извлечение первого элемента
  5. Stack<T>:

    • Stack<T> — реализует структуру данных "стек", элементы добавляются и удаляются в порядке "последний вошел - первый вышел" (LIFO).

      Stack<string> stack = new Stack<string>();
      stack.Push("First");
      stack.Push("Second");
      string topItem = stack.Pop(); // извлечение верхнего элемента
  6. LinkedList<T>:

    • LinkedList<T> — коллекция, представляющая двусвязный список элементов.

      LinkedList<int> linkedList = new LinkedList<int>();
      linkedList.AddLast(1);
      linkedList.AddLast(2);
  7. ObservableCollection<T>:

    • ObservableCollection<T> — коллекция, которая уведомляет об изменениях своего состояния.

      ObservableCollection<string> collection = new ObservableCollection<string>();
      collection.CollectionChanged += CollectionChangedHandler;
      collection.Add("New item");

Каждая из этих коллекций имеет свои особенности и предназначена для решения определенных задач в зависимости от потребностей приложения.

В C# существует множество коллекций, каждая из которых имеет свои уникальные характеристики и применения. Выбор подходящей коллекции зависит от требований вашего конкретного приложения и задач, которые необходимо решить.