Динамический массив List<T>
Что хранит. Последовательность элементов одного типа, которая может расти и уменьшаться. Сохраняет порядок и повторы.
Для чего используют. Подходит для плейлиста, заказа и списка результатов, когда элементы добавляются или удаляются во время работы.
Основные операции
| Запись на C# | Назначение |
a.Count | Число элементов; Capacity — отдельно выделенный запас места. |
a[i] | Прочитать или заменить элемент: 0 ≤ i < Count. |
a.Add(x) | Добавить в конец. |
a.Insert(i, x) | Вставить на позицию i: 0 ≤ i ≤ Count. |
a.RemoveAt(i) | Удалить по индексу; следующие элементы сдвинутся. |
a.Remove(x) | Удалить первое совпадение по значению; false, если его нет. |
a.IndexOf(x) | Индекс первого совпадения или −1. |
a.Sort() | Упорядочить элементы по возрастанию. |
Пример
Для примера нужны using System; и using System.Collections.Generic;. Код выполняется внутри Main.
List<int> a = new List<int>();
a.Add(10);
a.Add(30);
a.Insert(1, 20); // Теперь: 10, 20, 30.
a.Remove(10); // Теперь: 20, 30.
Console.WriteLine(a[0]);
Console.WriteLine(a.Count);
Вывод:
20
2
Важно. При вставке допустим индекс Count, при чтении, замене и удалении — нет. Во время foreach не добавляйте и не удаляйте элементы того же списка.
Для этой задачи
- Неверный индекс. Сначала проверьте границы. При ошибке не выполняйте изменение списка.