开发者

C# List<T> Contains test

Is this kind of if-testing necessary when removing an item?

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

And, what about this test?

if (!_items.Contains(item))
{
    _items.Add(i开发者_开发技巧tem);
}


You don't have to test to remove. Remove() will return false if it didn't remove anything.

If you don't want duplicate items in your list you can test, before adding. Otherwise, you'll have duplicates.

See also: http://msdn.microsoft.com/en-us/library/6sh2ey19.aspx


You could also use a HashSet<T> if you want to be able to Add() an item multiple times and have it only exist in the collection once, without checking Contains() first.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜