C#列表<;T>;包含测试

C#列表<;T>;包含测试,c#,list,C#,List,移除项目时是否需要进行此类if测试 if (_items.Contains(item)) { _items.Remove(item); } 那么,这个测试呢 if (!_items.Contains(item)) { _items.Add(item); } 您无需进行测试即可删除。如果未删除任何内容,Remove()将返回false 如果不希望列表中出现重复项,可以在添加之前进行测试。否则,您将有重复项 另请参见:如果您希望能够多次添加()一个项目,并且只在集合中存在一次,而

移除项目时是否需要进行此类if测试

if (_items.Contains(item))
{
    _items.Remove(item);
}
那么,这个测试呢

if (!_items.Contains(item))
{
    _items.Add(item);
}

您无需进行测试即可删除。如果未删除任何内容,Remove()将返回false

如果不希望列表中出现重复项,可以在添加之前进行测试。否则,您将有重复项


另请参见:

如果您希望能够多次添加()一个项目,并且只在集合中存在一次,而不必先检查Contains(),那么您也可以使用哈希集。

为什么不阅读文档和/或尝试一下呢?这似乎是一件很简单的事情。我不认为问Stackoverflow这个问题有什么错,尽管你是对的,阅读文档总是一种很好的反射。这里的答案还可以提供他感兴趣的额外见解(如第二个答案中提到的Hashset);您应该使用不允许重复的集合。否则,就没有线程安全性。假设线程安全是一个问题。如果是,您还需要确保您的集合类是线程安全的(我猜MS可能是,idk)。