В комментарии вы упоминаете, что ваше намерение здесь .Contains()
. В этом случае вы ищете HashSet<T>
, который делает именно это - он просто хранит ключи (без значений) и предоставляет быстрые Contains
проверки. Так; для вашего Dictionary<long,object>
вы можете сделать что-то вроде:
var set = new HashSet<long>(dictionary.Keys);
и передайте это. Для удобства HashSet<T>
реализует ICollection<T>
(если вы хотите охватить его интерфейсом, а не конкретным типом) - здесь также есть Contains
.
На самом деле, это может быть более эффективно для использования (что также работает в .NET 2.0):
ICollection<long> = dictionary.Keys;
и передайте это; реализация Contains(key)
для этого есть O (1), так как она реализуется через:
bool ICollection<TKey>.Contains(TKey item)
{
return this.dictionary.ContainsKey(item);
}