C#List <t>包含测试</t>

时间:2009-10-20 00:29:20

标签: c# list

删除项目时是否需要进行此类测试?

if (_items.Contains(item))
{
    _items.Remove(item);
}

那么这个测试呢?

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

2 个答案:

答案 0 :(得分:11)

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

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

另请参阅:http://msdn.microsoft.com/en-us/library/6sh2ey19.aspx

答案 1 :(得分:7)

您还可以使用HashSet&lt; T&gt;如果你想多次添加()一个项目并让它只存在于集合中一次,而不首先检查Contains()。