Коллекции в C#
НАВИГАЦИЯ ПО СТРАНИЦЕ
В C# существует множество коллекций, предоставляющих различные способы хранения, организации и управления данными.
List<T> :List<T> — динамически расширяемый массив, который предоставляет простой способ хранения элементов одного типа.
List<int> numbers = new List<int>(); numbers.Add(1); numbers.Add(2);
Dictionary<TKey, TValue> :Dictionary<TKey, TValue> — представляет коллекцию пар ключ-значение, где каждый ключ уникален.
Dictionary<string, int> ages = new Dictionary<string, int>(); ages.Add("Alice", 25); ages.Add("Bob", 30);
HashSet<T> :HashSet<T> — коллекция, хранящая уникальные элементы, обеспечивая быстрый доступ к данным.
HashSet<string> names = new HashSet<string>(); names.Add("Alice"); names.Add("Bob");
Queue<T> :Queue<T> — реализует структуру данных "очередь", элементы добавляются в конец и извлекаются с начала.
Queue<int> queue = new Queue<int>(); queue.Enqueue(1); queue.Enqueue(2); int firstItem = queue.Dequeue(); // извлечение первого элемента
Stack<T> :Stack<T> — реализует структуру данных "стек", элементы добавляются и удаляются в порядке "последний вошел - первый вышел" (LIFO).
Stack<string> stack = new Stack<string>(); stack.Push("First"); stack.Push("Second"); string topItem = stack.Pop(); // извлечение верхнего элемента
LinkedList<T> :LinkedList<T> — коллекция, представляющая двусвязный список элементов.
LinkedList<int> linkedList = new LinkedList<int>(); linkedList.AddLast(1); linkedList.AddLast(2);
ObservableCollection<T> :ObservableCollection<T> — коллекция, которая уведомляет об изменениях своего состояния.
ObservableCollection<string> collection = new ObservableCollection<string>(); collection.CollectionChanged += CollectionChangedHandler; collection.Add("New item");
Каждая из этих коллекций имеет свои особенности и предназначена для решения определенных задач в зависимости от потребностей приложения.
В C# существует множество коллекций, каждая из которых имеет свои уникальные характеристики и применения. Выбор подходящей коллекции зависит от требований вашего конкретного приложения и задач, которые необходимо решить.