2

抱歉,如果是非常原始的问题,但我不确定这如何与 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 方法?

4

1 回答 1

8

阅读文档

它说.Remove(T item)

“从 . 中删除特定对象的第一个匹配项List<T>。”

如果要删除所有出现,请使用.RemoveAll(Predicate<T> match),如下所示:

public void Remove(String name) {
    _names.RemoveAll( s => s.Equals( name ) );
}
于 2012-07-15T00:17:28.153 回答