Как очистить list c
Перейти к содержимому

Как очистить list c

  • автор:

Коллекции

Хотя в языке C# есть массивы, которые хранят в себе наборы однотипных объектов, но работать с ними не всегда удобно. Например, массив хранит фиксированное количество объектов, однако что если мы заранее не знаем, сколько нам потребуется объектов. И в этом случае намного удобнее применять коллекции. Еще один плюс коллекций состоит в том, что некоторые из них реализует стандартные структуры данных, например, стек, очередь, словарь, которые могут пригодиться для решения различных специальных задач. Большая часть классов коллекций содержится в пространстве имен System.Collections.Generic .

Класс List<T> из пространства имен System.Collections.Generic представляет простейший список однотипных объектов. Класс List типизируется типом, объекты которого будут хранится в списке.

Мы можем создать пустой список:

В данном случае объект List типизируется типом string . А это значит, что хранить в этом списке мы можем только строки.

Можно сразу при создании списка инициализировать его начальными значениями. В этом случае элементы списка помещаются после вызова конструктора в фигурных скобках

В данном случае в список помещаются три строки

Также можно при создании списка инициализировать его элементами из другой коллекции, например, другого списка:

Можно совместить оба способа:

В данном случае в списке employees будет четыре элемента ( < "Tom", "Bob", "Sam", "Mike" >) — три добавляются из списка people и один элемент задается при инициализации.

Подобным образом можно работать со списками других типов, например:

Установка начальной емкости списка

Еще один конструктор класса List принимает в качестве параметра начальную емкость списка:

Указание начальной емкости списка позволяет в будущем увеличить производительность и уменьшить издержки на выделение памяти при добавлении элементов. Поскольку динамическое добавление в список может приводить на низком уровне к дополнительному выделению памяти, что снижает производительность. Если же мы знаем, что список не будет превышать некоторый размер, то мы можем передать этот размер в качестве емкости списка и избежать дополнительных выделений памяти.

Также начальную емкость можно установить с помощью свойства Capacity , которое имеется у класса List.

Обращение к элементам списка

Как и массивы, списки поддерживают индексы, с помощью которых можно обратиться к определенным элементам:

Длина списка

С помощью свойства Count можно получить длину списка:

Перебор списка

C# позволяет осуществить перебор списка с помощью стандартного цикла foreach :/p>

Также можно использовать другие типы циклов и в комбинации с индексами перебирать списки:

Методы списка

Среди его методов можно выделить следующие:

void Add(T item) : добавление нового элемента в список

void AddRange(IEnumerable<T> collection) : добавление в список коллекции или массива

int BinarySearch(T item) : бинарный поиск элемента в списке. Если элемент найден, то метод возвращает индекс этого элемента в коллекции. При этом список должен быть отсортирован.

void CopyTo(T[] array) : копирует список в массив array

void CopyTo(int index, T[] array, int arrayIndex, int count) : копирует из списка начиная с индекса index элементы, количество которых равно count, и вставляет их в массив array начиная с индекса arrayIndex

bool Contains(T item) : возвращает true , если элемент item есть в списке

void Clear() : удаляет из списка все элементы

bool Exists(Predicate<T> match) : возвращает true , если в списке есть элемент, который соответствует делегату match

T? Find(Predicate<T> match) : возвращает первый элемент, который соответствует делегату match. Если элемент не найден, возвращается null

T? FindLast(Predicate<T> match) : возвращает последний элемент, который соответствует делегату match. Если элемент не найден, возвращается null

List<T> FindAll(Predicate<T> match) : возвращает список элементов, которые соответствуют делегату match

int IndexOf(T item) : возвращает индекс первого вхождения элемента в списке

int LastIndexOf(T item) : возвращает индекс последнего вхождения элемента в списке

List<T> GetRange(int index, int count) : возвращает список элементов, количество которых равно count, начиная с индекса index.

void Insert(int index, T item) : вставляет элемент item в список по индексу index. Если такого индекса в списке нет, то генерируется исключение

void InsertRange(int index, collection) : вставляет коллекцию элементов collection в текущий список начиная с индекса index. Если такого индекса в списке нет, то генерируется исключение

bool Remove(T item) : удаляет элемент item из списка, и если удаление прошло успешно, то возвращает true. Если в списке несколько одинаковых элементов, то удаляется только первый из них

void RemoveAt(int index) : удаление элемента по указанному индексу index. Если такого индекса в списке нет, то генерируется исключение

void RemoveRange(int index, int count) : параметр index задает индекс, с которого надо удалить элементы, а параметр count задает количество удаляемых элементов.

int RemoveAll((Predicate<T> match)) : удаляет все элементы, которые соответствуют делегату match. Возвращает количество удаленных элементов

void Reverse() : изменяет порядок элементов

void Reverse(int index, int count) : изменяет порядок на обратный для элементов, количество которых равно count, начиная с индекса index

void Sort() : сортировка списка

void Sort(IComparer<T>? comparer) : сортировка списка с помощью объекта comparer, который передается в качестве параметра

Как очистить list c

Lists are containers used in C++ to store data in a non contiguous fashion, Normally, Arrays and Vectors are contiguous in nature, therefore the insertion and deletion operations are costlier as compared to the insertion and deletion option in Lists.

clear() function is used to remove all the elements of the list container, thus making it size 0. Syntax :

Errors and Exceptions 1. It has a no exception throw guarantee. 2. Shows error when a parameter is passed.

Удалить все элементы из списка в C#

В этом посте будет обсуждаться, как удалить все элементы из списка в C#.

1. Использование List<T>.Clear() Метод

Простое и понятное решение для удаления всех элементов из списка — использование List<T>.Clear() метод. Следующий пример демонстрирует использование Clear() метод для удаления всех элементов из списка.

2. Использование List<T>.Remove() Метод

The List<T>.Remove(T) method is used to remove the first occurrence of a specified element from the List<T>. It can be used as follows to remove all items from a list.

В качестве альтернативы мы можем использовать List<T>.RemoveAt(Int32) метод, который принимает индекс List<T> и удалите элемент по этому индексу.

3. Использование конструктора списка

Наконец, мы можем просто присвоить список новому пустому списку вместо вызова Clear() или удалите отдельные элементы с помощью цикла и включите сборку мусора. Обратите внимание, что любые другие ссылки на исходный объект списка не будут удалены.

Это все об удалении всех элементов из списка в C#.

Оценить этот пост

Средний рейтинг 5 /5. Подсчет голосов: 15

Голосов пока нет! Будьте первым, кто оценит этот пост.

Сожалеем, что этот пост не оказался для вас полезным!

Расскажите, как мы можем улучшить этот пост?

Спасибо за чтение.

Пожалуйста, используйте наш онлайн-компилятор размещать код в комментариях, используя C, C++, Java, Python, JavaScript, C#, PHP и многие другие популярные языки программирования.

Как мы? Порекомендуйте нас своим друзьям и помогите нам расти. Удачного кодирования ��

How to empty a list in C#?

Øyvind Bråthen's user avatar

If by «list» you mean a List<T> , then the Clear method is what you want:

You should get into the habit of searching the MSDN documentation on these things.

Here’s how to quickly search for documentation on various bits of that type:

    — provides the List<T> class itself (this is where you should’ve started) — provides documentation on the method Clear — provides documentation on the property Count

All of these Google queries lists a bundle of links, but typically you want the first one that google gives you in each case.

Option #1: Use Clear() function to empty the List<T> and retain it’s capacity.

Count is set to 0, and references to other objects from elements of the collection are also released.

Option #2 — Use Clear() and TrimExcess() functions to set List<T> to initial state.

Count is set to 0, and references to other objects from elements of the collection are also released.

Trimming an empty List<T> sets the capacity of the List to the default capacity.

Definitions

Count = number of elements that are actually in the List<T>

Capacity = total number of elements the internal data structure can hold without resizing.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *