如何删除满足C#集合条件的所有元素?

时间:2011-02-21 16:57:02

标签: c#

我有一个字符串数组:

string[] names;

我想删除长度小于k的所有名称。我怎样才能做到这一点?我是否必须将其转换回List<string>

谢谢, 陈

2 个答案:

答案 0 :(得分:7)

由于string[]无法更改大小,因此无法从中删除元素。因此,您需要使用names.Where(s=>!(s.Length<k)).ToArray()创建一个更小的新数组。

List<string>上,您可以使用RemoveAll(s=>s.Length<k)功能删除元素。

答案 1 :(得分:2)

使用LINQ就像这样

List<String> list1 = new List<string>();
List<String> list2 = list1.Except(list1.Where(c => c.Length < 10)).ToList();