我有这个:
List<string> s = new List<string>{"", "a", "", "b", "", "c"};
我希望在不使用("")
语句的情况下快速(可能通过LINQ)从中删除所有空元素foreach
,因为这会使代码看起来很难看。
答案 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();