我有一个整数列表:
var list = new List<int>();
list.Add(1);
list.Add(1);
list.Add(2);
list.Add(2);
list.Add(3);
list.Add(3);
list.Add(2);
list.Add(2);
我希望删除列表中的所有1个,我已经使用了这个:
list.RemoveAll(x => list.contains(1));
但它会删除列表中的所有内容,而我只想删除1,这使得计数为8的列表成为计数为6的列表。
答案 0 :(得分:14)
您的代码当前显示:对于列表中的每个元素,如果列表包含&#34; 1&#34; ,请将其从列表中删除。这种情况适用于所有元素,因此所有元素都将从列表中删除。
您需要指定的是:对于列表中的每个元素,如果该项为1 ,请将其从列表中删除。
list.RemoveAll(item => item == 1);
答案 1 :(得分:3)
变化
list.RemoveAll(x => list.contains(1));
到
list.RemoveAll(x => x == 1);
答案 2 :(得分:2)
list.RemoveAll(item => item == 1);
答案 3 :(得分:0)
您还可以尝试: - list.RemoveAll(x =&gt; x.Equals(1));