diff --git a/Recyclable.Collections/RecyclableLongList.VersionedEnumerator.cs b/Recyclable.Collections/RecyclableLongList.VersionedEnumerator.cs index 9e4ea5e..a634914 100644 --- a/Recyclable.Collections/RecyclableLongList.VersionedEnumerator.cs +++ b/Recyclable.Collections/RecyclableLongList.VersionedEnumerator.cs @@ -14,8 +14,6 @@ namespace Recyclable.Collections private static readonly T _default = default; #nullable restore - private static readonly bool _isReferenceType = !typeof(T).IsValueType; - private int _currentBlockIndex; private int _currentItemIndex; private readonly RecyclableLongList _list; @@ -88,14 +86,18 @@ namespace Recyclable.Collections throw new InvalidOperationException(); } - _current = _default; + if (NeedsClearing) + { + _current = _default; + } + _currentBlockIndex = 0; _currentItemIndex = 0; } public void Dispose() { - if (_isReferenceType) + if (NeedsClearing) { _current = _default; }