c# Как удалить пустые элементы массива?

Удаление пустых элементов в массиве

В этой небольшой статье рассмотрим на простом примере, как удалить пустые элементы массива.

Например, создадим одномерный массив, который содержит четыре элемента:

string [] fruits = {"арбуз", "дыня", null, null};

В языке c# массив представляет собой фиксированный объект, это значит, что после его создания, удалить или добавить в него новые элементы уже нельзя.

Но, мне надо удалить пустые элементы в массиве, как это сделать?

Например, вы можете поступить следующим образом:

fruits = fruits.Where(x => x != null).ToArray();
//Результат: fruits = {"арбуз", "дыня"};

В данном примере создаётся иллюзия, как будто бы мы удаляем пустые элементы массива, но на самом деле, это не так.

Сначала, с помощью метода Where, мы отбираем или получаем все не пустые значения массива и помещаем их в коллекцию типа IEnumerable<string>.

А затем, с помощью метода ToArray, создаётся новый массив, в который копируются все отобранные значения из полученной ранее коллекции.

При этом старый массив (сам объект) ещё какое-то время остается в памяти, дожидаясь сборщика мусора, и он всё так же по-прежнему содержит пустые элементы.

Читайте также:

Leave a Reply

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

*