从字符串数组中删除所有空元素

时间:2013-01-13 22:43:00

标签: c# .net vb.net linq list

我有这个:

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

我希望在不使用("")语句的情况下快速(可能通过LINQ)从中删除所有空元素foreach,因为这会使代码看起来很难看。

4 个答案:

答案 0 :(得分:60)

您可以使用List.RemoveAll

C#

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

VB.NET

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

答案 1 :(得分:11)

使用List.RemoveAll方法查看 String.IsNullOrEmpty() ;

  

指示指定的字符串是null还是空字符串。

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

这是 DEMO

答案 2 :(得分:10)

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

答案 3 :(得分:0)

我在下面编写代码以删除空白值

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