从string数组中删除所有空元素

我有这个:

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

我想快速地(可能通过LINQ)从中删除所有的空元素("") ,而不使用foreach语句,因为这使得代码看起来很丑。

你可以使用List.RemoveAll

C#

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

VB.NET

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

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

指示指定的string是否为空或空string。

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

这是一个DEMO

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