很抱歉,如果非常原始的问题,但我不确定它如何与List一起工作,当你调用Remove()
方法并传递给它一个对象时,在集合中一个具有完全相同的字段和值的对象已经存在。
我有一个这样的课程:
public class Test
{
private List<string> _names;
public void Add(string name)
{
_names.Add(name);
}
public void Remove(string name)
{
_names.Remove(name)
}
}
如果已经列出了name
的同一个(实例),会发生什么?考虑从另一个类调用这个Remove方法吗?
答案 0 :(得分:8)
它代表.Remove(T item)
:
“从List<T>
删除特定对象的第一个匹配项。”
如果要删除所有出现的内容,请使用.RemoveAll(Predicate<T> match)
,如下所示:
public void Remove(String name) {
_names.RemoveAll( s => s.Equals( name ) );
}