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