Підручник C# ArrayList із прикладами
⚡ Розумний підсумок
ArrayList у C# — це динамічна колекція з простору імен System.Collections, яка зберігає елементи як об'єкти. На відміну від масиву, він збільшується та стискається під час виконання та може містити цілі числа, рядки та логічні значення разом в одному списку.

Що таке ArrayList у C#?
Колекція ArrayList схожа на Масиви тип даних у C#. Найбільшою відмінністю є динамічна природа колекції списків масивів.
Для масивів вам потрібно визначити кількість елементів, які може містити масив на момент оголошення масиву. Але у випадку колекції Array List це не потрібно робити заздалегідь. Елементи можна додавати або видаляти з колекції Array List у будь-який момент часу. Давайте детальніше розглянемо операції, доступні для колекції списку масивів.
Оголошення списку масивів
Оголошення ArrayList наведено нижче. Список масиву створюється за допомогою типу даних ArrayList. Ключове слово “new” використовується для створення об’єкта ArrayList. Потім об’єкт присвоюється змінній a1. Отже, тепер змінна a1 використовуватиметься для доступу до різних елементів списку масиву.
ArrayList a1 = new ArrayList()
Додавання елементів до масиву
Метод add використовується для додавання елемента до ArrayList. Метод add можна використовувати для додавання будь-якого типу елемента типу даних до списку масиву. Таким чином, ви можете додати ціле число, або рядок, або навіть логічне значення до списку масиву. Загальний синтаксис методу додавання наведено нижче
ArrayList.add(element)
Нижче наведено кілька прикладів того, як можна використовувати метод «додати». Метод add можна використовувати для додавання різних типів даних до колекції Array List.
Нижче ви можете побачити приклади того, як ми можемо додати рядки Integer і навіть логічні значення до колекції Array List.
- a1.add(1) – це додасть значення Integer до колекції
- a1.add(“Приклад”) – це додасть рядкове значення до колекції
- a1.add(true) – це додасть логічне значення до колекції
Тепер давайте подивимося, як це працює на рівні коду. Весь наведений нижче код буде записано в нашу консольну програму. Код буде записаний у наш файл Program.cs.
У наведеній нижче програмі ми напишемо код для створення нового списку масивів. Ми також покажемо, як додати елементи та відобразити елементи списку масиву.
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { ArrayList a1 = new ArrayList(); a1.Add(1); a1.Add("Example"); a1.Add(true); Console.WriteLine(a1[0]); Console.WriteLine(a1[1]); Console.WriteLine(a1[2]); Console.ReadKey(); } } }
Code Пояснення:
- Перший крок використовується для оголошення нашого списку масивів. Тут ми оголошуємо a1 як змінну для зберігання елементів нашого списку масивів.
- Потім ми використовуємо ключове слово add, щоб додати число 1, рядок «Приклад» і логічне значення «true» до списку масиву.
- Потім ми використовуємо метод Console.WriteLine, щоб відобразити на консолі значення кожного елемента списків масиву. Ви помітите, що, як і до масивів, ми можемо отримати доступ до елементів через їхні позиції індексів. Отже, щоб отримати доступ до першої позиції списку масивів, ми використовуємо позицію індексу [0]. І так далі і так далі.
Якщо наведений вище код введено належним чином і програма запущена, буде показано наступний результат.
вихід:
З результату можна побачити, що всі елементи зі списку масиву надсилаються на консоль.
Давайте розглянемо ще кілька методів, доступних як частина ArrayList.
Рахувати
Цей метод використовується для отримання кількості елементів у колекції ArrayList. Нижче наведено загальний синтаксис цього оператора.
ArrayList.Count() – цей метод повертає кількість елементів, які містить список масиву.
Містить
Цей метод використовується, щоб побачити, чи присутній елемент у колекції ArrayList. Нижче наведено загальний синтаксис цього оператора
ArrayList.Contains(element) – цей метод поверне true, якщо елемент присутній у списку, інакше він поверне false.
RemoveAt
Цей метод використовується для видалення елемента в певній позиції в колекції ArrayList. Нижче наведено загальний синтаксис цього оператора
ArrayList.RemoveAt(index) – цей метод видаляє елемент із певної позиції списку масивів.
Тепер давайте подивимося, як це працює на рівні коду. Весь наведений нижче код буде записано в нашу консольну програму. Код буде записаний у наш файл Program.cs.
У наведеній нижче програмі ми напишемо код, щоб побачити, як ми можемо використовувати вищезгадані методи.
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { ArrayList a1 = new ArrayList(); a1.Add(1); a1.Add("Example"); a1.Add(true); Console.WriteLine(a1.Count); Console.WriteLine(a1.Contains(2)); Console.WriteLine(a1[1]); a1.RemoveAt(1); Console.WriteLine(a1[1]); Console.ReadKey(); } } }
Code Пояснення:
- Отже, перша властивість, яку ми бачимо, це властивість Count. Ми отримуємо властивість Count списку масивів a1, а потім записуємо його в консоль.
- У другій частині ми використовуємо метод Contains, щоб перевірити, чи містить ArrayList a1 елемент 2. Потім ми записуємо результат на консоль за допомогою команди Writeline.
- Нарешті, щоб продемонструвати метод видалення елемента, ми виконуємо наведені нижче кроки,
- Спочатку ми записуємо на консоль значення елемента в позиції індексу 1 списку масиву.
- Потім ми видаляємо елемент у позиції індексу 1 списку масиву.
- Нарешті, ми знову записуємо значення елемента в позиції індексу 1 списку масиву на консоль. Цей набір кроків дасть чітке уявлення про те, чи буде метод видалення працювати належним чином.
Якщо наведений вище код введено належним чином і програма запущена, буде показано наступний результат.
вихід:
Чому останнє значення вірне?
Якщо ви бачите послідовність подій, елемент «Приклад» видаляється з масиву, оскільки він знаходиться в позиції 1. Позиція 1 масиву потім замінюється тим, що було в позиції 2 раніше зі значенням «true»
Як перебрати масив ArrayList у C#
Зчитування кожного елемента ArrayList є поширеним завданням. Оскільки ArrayList зберігає свої елементи як об'єкти, ви можете звернутися до них за допомогою циклу foreach або циклу for, який використовує властивість Count. Цикл foreach є найпростішим способом, оскільки він проходить по кожному елементу по порядку без потреби в індексі.
У наведеному нижче прикладі створюється ArrayList рядків та виводиться кожне значення в окремому рядку. Код написано у файлі Program.cs консольної програми.
Крок 1) Імпортуйте простір імен System.Collections та створіть ArrayList з трьома елементами.
Крок 2) Використовуйте цикл foreach, щоб зчитати кожен елемент як об'єкт та записати його в консоль.
using System; using System.Collections; namespace DemoApplication { class Program { static void Main(string[] args) { ArrayList a1 = new ArrayList(); a1.Add("Java"); a1.Add("Python"); a1.Add("Kotlin"); foreach (object item in a1) { Console.WriteLine(item); } Console.ReadKey(); } } }
Code Пояснення:
- Простір імен System.Collections імпортується, тому тип ArrayList стає доступним для програми.
- Три рядкові значення додаються до ArrayList за допомогою методу Add.
- Цикл foreach зчитує кожен елемент як об'єкт, а метод Console.WriteLine виводить його на новому рядку.
Коли програма працює, вона друкує Java, Python та Котлін на окремих рядках. Цикл for з властивістю Count дасть той самий результат, водночас дозволяючи використовувати позицію індексу кожного елемента.
Методи та властивості ArrayList у C#
Клас ArrayList надає багато вбудованих методів та властивостей для керування своїми елементами. Окрім додавання та видалення елементів, він може сортувати, шукати та змінювати порядок елементів у колекції. Найпоширеніші члени перелічені нижче.
| Член | Опис |
| додавати | Додає один елемент в кінець ArrayList. |
| Insert | Додає елемент у певну позицію індексу. |
| Видалення | Видаляє перший екземпляр певного елемента. |
| RemoveAt | Видаляє елемент у заданій позиції індексу. |
| Прозорі | Видаляє всі елементи з ArrayList. |
| сортувати | Сортує елементи у порядку зростання. |
| Reverse | Reverses порядок елементів у списку. |
| Містить | Повертає значення true, якщо заданий елемент існує у списку. |
| Індекс | Повертає позицію індексу заданого елемента. |
| Рахувати | Властивість, яка повертає кількість збережених елементів. |
| Швидкість профілювання | Властивість, яка повертає кількість елементів, які може містити список. |
Ці члени дозволяють додавати, знаходити, упорядковувати та видаляти елементи без необхідності самостійно писати логіку, що є однією з головних переваг використання колекції порівняно зі звичайним масивом.
Різниця між ArrayList та List у C#
Як ArrayList, так і узагальнений об'єкт список зберігають групу елементів, які можуть зростати під час виконання, проте вони відрізняються за способом обробки типів. Знання цієї різниці допоможе вам вибрати правильний варіант для сучасного коду C#.
Основні відмінності перелічені нижче:
- Безпека типу: ArrayList зберігає кожен елемент як об'єкт, тоді як List прив'язаний до одного оголошеного типу та перевіряється під час компіляції.
- Продуктивність: ArrayList упаковує та розпаковує значення таких типів, як int, що вимагає часу, тоді як List уникає упаковки для кращої швидкості.
- Простір імен: ArrayList знаходиться в System.Collections, тоді як List знаходиться в System.Collections.Generic.
- Кастинг: Читання з ArrayList часто потребує приведення до початкового типу, але List повертає правильний тип безпосередньо.
- Рекомендація: Microsoft рекомендує List для нових розробок, оскільки він безпечніший, швидший та легший для читання.
Коротше кажучи, ArrayList корисний для розуміння старішого коду або змішаного сховища, тоді як List є кращим вибором для більшості сучасних програм.




