C#从List <int>中删除一个int

时间:2015-04-27 12:22:28

标签: c# list

我有一个整数列表:

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的列表。

4 个答案:

答案 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));