Удалите пустые значения в массиве с помощью c#


есть ли метод, который удаляет пустые индексы из массива е.г

string[] test={"1","","2","","3"};

в этом случае есть ли какой-либо метод для удаления пустого индекса из массива с помощью c# в конце я хочу получить массив в таком формате test={"1","2","3"}; что означает два индекса удалить из массива и, наконец, я получил 3 индекса Я не пишу точный код для массива это подсказка, которую я хочу сделать

3 55
c#

3 ответа:

Если вы используете .NET 3.5+, вы можете использовать linq.

test = test.Where(x => !string.IsNullOrEmpty(x)).ToArray();

Вы можете использовать Linq в случае, если вы используете .NET 3.5 или более поздней версии:

 test = test.Where(x => !string.IsNullOrEmpty(x)).ToArray();

Если вы не можете использовать LINQ, то вы можете сделать это так:

var temp = new List<string>();
foreach (var s in test)
{
    if (!string.IsNullOrEmpty(s))
        temp.Add(s);
}
test = temp.ToArray();

Я предпочитаю использовать два варианта, пробелы и пустые:

test = test.Where(x => !string.IsNullOrEmpty(x)).ToArray();
test = test.Where(x => !string.IsNullOrWhiteSpace(x)).ToArray();