从C#collections列表对象中删除项目

时间:2011-03-15 05:43:39

标签: c# list

在我的C#项目中,我使用的是Hashtable,但它无法使用相同的密钥存储多个值。所以我把它改为使用List。我从sql获取数据并加载List。加载数据后,我想根据ID从列表中删除项目。我怎样才能成功呢?

2 个答案:

答案 0 :(得分:5)

您可以使用List<T>.RemoveAll方法,该方法将Predicate<T>作为参数。

例如,如果您要移除Id 5的所有项目,则可以执行以下操作:

int numRemoved = list.RemoveAll(x => x.Id == 5);

答案 1 :(得分:0)

您可以在List<T>上尝试使用linq。

yourList.RemoveAll(item => item.Id == yourKey);

假设您正在存储具有要比较的字段的项目。

MSDN链接以供RemoveAll参考:

http://msdn.microsoft.com/en-us/library/wdka673a.aspx