我有一个字符串数组:
string[] names;
我想删除长度小于k
的所有名称。我怎样才能做到这一点?我是否必须将其转换回List<string>
?
谢谢, 陈
答案 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();