Подтвердить что ты не робот

Удалить все пустые элементы из массива строк

У меня есть это:

List<string> s = new List<string>{"", "a", "", "b", "", "c"};

Я хочу удалить из него все пустые элементы ("") (возможно, через LINQ), не используя оператор foreach, потому что это делает код выглядящим уродливым.

4b9b3361

Ответ 1

Вы можете использовать List.RemoveAll:

С#

s.RemoveAll(str => String.IsNullOrEmpty(str));

VB.NET

s.RemoveAll(Function(str) String.IsNullOrEmpty(str))

Ответ 2

Откажитесь от List.RemoveAll с помощью метода String.IsNullOrEmpty();

Указывает, является ли указанная строка пустой или пустой.

s.RemoveAll(str => string.IsNullOrEmpty(str));

Вот DEMO.

Ответ 3

s = s.Where(val => !string.IsNullOrEmpty(val)).ToList();

Ответ 4

Я пишу ниже код, чтобы удалить пустое значение

List<string> s = new List<string>{"", "a", "", "b", "", "c"};
s = s.Where(t => !string.IsNullOrWhiteSpace(t)).Distinct().ToList();