Kann mir jemand erklären, warum die Generika List.Contains()
Funktion so langsam ist?
Ich habe eine List<long>
mit etwa einer Million Zahlen und dem Code, der ständig prüft, ob es eine bestimmte Zahl innerhalb dieser Zahlen gibt.
Ich habe versucht, das Gleiche zu tun mit Dictionary<long, byte>
und die Dictionary.ContainsKey()
Funktion und war etwa 10-20 Mal schneller als mit der Liste.
Natürlich möchte ich das Wörterbuch nicht wirklich für diesen Zweck verwenden, denn dafür ist es nicht gedacht.
Die eigentliche Frage ist also, ob es eine Alternative zur List<T>.Contains()
aber nicht so abgefahren wie Dictionary<K,V>.ContainsKey()
?