这种if-testing在删除项目时是否必要?C#列表<T>包含测试
if (_items.Contains(item))
{
_items.Remove(item);
}
而且,这个测试呢?
if (!_items.Contains(item))
{
_items.Add(item);
}
这种if-testing在删除项目时是否必要?C#列表<T>包含测试
if (_items.Contains(item))
{
_items.Remove(item);
}
而且,这个测试呢?
if (!_items.Contains(item))
{
_items.Add(item);
}
您不必测试即可移除。如果Remove()没有删除任何内容,它将返回false。
如果您不想在列表中重复项目,您可以在添加之前进行测试。否则,你会有重复。
你也可以,如果你希望能够加入()的项目进行了多次,并有它只是在集合中出现一次使用一个HashSet <牛逼>,而不检查载有()第一。
为什么你不只是阅读文档和/或尝试它?看起来像一个简单的事情找出来。 – 2009-10-20 00:47:57
在Stackoverflow上提出问题时,我看不出有什么问题,即使你是正确的,阅读文档总是一个好的反应。在这里的答案也可以提供额外的洞察力,可以让他感兴趣(比如在第二个答案中提到Hashset)。 – 2009-10-20 01:04:13