Может кто-нибудь объяснить мне, почему функция generics List.Contains()
такая медленная?
У меня List<long>
около миллиона номеров, и код, который постоянно проверяет, есть ли конкретное число в этих числах.
Я попытался сделать то же самое, используя Dictionary<long, byte>
и функцию Dictionary.ContainsKey()
, и это было примерно в 10-20 раз быстрее, чем со списком.
Конечно, я не хочу использовать словарь для этой цели, потому что он не предназначен для этого.
Таким образом, реальный вопрос здесь заключается в том, есть ли альтернатива List<T>.Contains()
, но не такая странная, как Dictionary<K,V>.ContainsKey()
?