В этой небольшой статье рассмотрим на простом примере, как удалить пустые элементы массива.
Например, создадим одномерный массив, который содержит четыре элемента:
string [] fruits = {"арбуз", "дыня", null, null};
В языке c# массив представляет собой фиксированный объект, это значит, что после его создания, удалить или добавить в него новые элементы уже нельзя.
Но, мне надо удалить пустые элементы в массиве, как это сделать?
Удаление пустых элементов в массиве C#
Например, вы можете поступить следующим образом:
fruits = fruits.Where(x => x != null).ToArray(); //Результат: fruits = {"арбуз", "дыня"};
В данном примере создаётся иллюзия, как будто бы мы удаляем пустые элементы массива, но на самом деле, это не так.
Сначала, с помощью метода Where, мы отбираем или получаем все не пустые значения массива и помещаем их в коллекцию типа IEnumerable<string>.
А затем, с помощью метода ToArray, создаётся новый массив, в который копируются все отобранные значения из полученной ранее коллекции.
При этом старый массив (сам объект) ещё какое-то время остается в памяти, дожидаясь сборщика мусора, и он всё так же по-прежнему содержит пустые элементы.
Читайте также: