Должен ли List <T>.Remove предшествовать List <T>.Exists? - PullRequest
16 голосов
/ 30 мая 2011

Имея List<string> paths = new List<string>(); Я хочу удалить элемент, который, я не уверен, там есть. Должен ли я проверить, существует ли он или просто запустить метод Remove прямо сейчас?

Требуется ли if (paths.Exists(stringVar)) или считается хорошей практикой до paths.Remove(stringVar)?

Выполнение команды «Удалить без существующих» просто вернет false, если в списке нет такого элемента.

Ответы [ 2 ]

21 голосов
/ 30 мая 2011

Нет, это не вызывает исключения, и нет необходимости в дополнительной проверке.см. MSDN :

true, если элемент успешно удален;иначе ложно.Этот метод также возвращает false, если элемент не был найден в списке.

10 голосов
/ 30 мая 2011

Нет, не проверяйте.Потому что Remove уже делает проверку.Ваш дополнительный чек просто лишний и не приносит никакой пользы.

...