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

ara*_*een 0 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);
Run Code Online (Sandbox Code Playgroud)

我想删除列表中的所有1,我已经使用过:

list.RemoveAll(x => list.contains(1));
Run Code Online (Sandbox Code Playgroud)

但它删除了列表中的所有内容,而我只想删除1,这使得计数为8的列表成为计数为6的列表.

dca*_*tro 14

您的代码当前读取:对于列表中的每个元素,如果列表包含"1",则将其从列表中删除.这种情况适用于所有元素,因此从列表中删除所有元素.

您需要指定的是:对于列表中的每个元素,如果该项为1,则将其从列表中删除.

list.RemoveAll(item => item == 1);
Run Code Online (Sandbox Code Playgroud)