public bool MoveNext() { if (_version != _coll.Version) { throw new System.InvalidOperationException($"{_coll.GetType()} changed while iterating over it"); } var entries = _coll._entries; var comparer = _coll.Comparer; while (_nextI >= 0) { _previousI = _currentI; _currentI = _nextI; _nextI = entries[_nextI].Next; ref var entry = ref entries[_currentI]; if (entry.HashCode == _hashCode && comparer.Equals(entry.Key, _key)) { return(true); } }