Самые популярные структуры данных и коллекции C #
- Массив
- ArrayList
- Список
- LinkedList
- словарь
- HashSet
- Stack
- Queue
- SortedList
C # .NET имеет множество различных структур данных, например, одна из наиболее распространенных - это массив. Однако C # поставляется со многими более простыми структурами данных. Выбор правильной структуры данных для использования является частью написания хорошо структурированной и эффективной программы.
В этой статье я расскажу о встроенных структурах данных C #, в том числе о новых, представленных в C # .NET 3.5. Обратите внимание, что многие из этих структур данных применяются для других языков программирования.
Массив
Пожалуй, самой простой и распространенной структурой данных является массив. Массив C # - это список объектов. Его определяющими чертами является то, что все объекты имеют одинаковый тип (в большинстве случаев), и их имеется определенное количество. Природа массива обеспечивает очень быстрый доступ к элементам на основе их положения в списке (иначе называемом индексом). Массив C # определяется следующим образом:
[object type][] myArray = new [object type][number of elements]
Некоторые примеры:
int[] myIntArray = new int[5];
int[] myIntArray2 = { 0, 1, 2, 3, 4 };
Как видно из приведенного выше примера, массив можно инициализировать без элементов или из набора существующих значений. Вставить значения в массив просто, если они подходят. Операция становится дорогостоящей, когда количество элементов превышает размер массива, и в этот момент массив необходимо расширить. Это занимает больше времени, потому что все существующие элементы должны быть скопированы в новый, больший массив.
ArrayList
Структура данных C #, ArrayList, является динамическим массивом. Это означает, что ArrayList может иметь любое количество объектов любого типа. Эта структура данных была разработана, чтобы упростить процессы добавления новых элементов в массив. Под капотом ArrayList - это массив, размер которого удваивается каждый раз, когда ему не хватает места. Удвоение размера внутреннего массива является очень эффективной стратегией, которая уменьшает количество копий элементов в долгосрочной перспективе. Мы не будем в доказательство этого здесь. Структура данных очень проста в использовании:
ArrayList myArrayList = new ArrayList();
myArrayList.Add(56);
myArrayList.Add("String");
myArrayList.Add(new Form());
Недостатком структуры данных ArrayList является приведение извлеченных значений обратно в исходный тип:
int arrayListValue = (int)myArrayList[0]
Источники и дополнительную информацию вы можете найти здесь :