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

如何删除C#集合中满足条件的所有元素?,c#,C#,我有一个字符串数组: string[] names; 我想删除所有长度小于k的名称。我该怎么做?是否必须将其转换回列表 谢谢, Chan由于字符串[]无法更改其大小,因此无法从中删除元素。因此,您需要创建一个新的、更小的数组,其中包含名称 List<String> list1 = new List<string>(); List<String> list2 = list1.Except(list1.Where(c => c.Length < 10

我有一个字符串数组:

string[] names;
我想删除所有长度小于
k
的名称。我该怎么做?是否必须将其转换回
列表

谢谢,
Chan

由于
字符串[]
无法更改其大小,因此无法从中删除元素。因此,您需要创建一个新的、更小的数组,其中包含
名称

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

您需要为lambda表达式使用不同的参数名,否则这是正确的。@CodeInChaos:谢谢。我现在就知道了。添加这个,
使用System.Linq;
是的,在我意识到我忘记了“使用”之后删除了我的注释,但每个人都太快了。这也会删除重复项,因为除
之外的只返回不同的元素。OP有一个数组,而不是列表。我个人不喜欢不必要地使用除之外的而不是简单地否定谓词。