From ec9733b9769c52b668c18726bbaf31ac4a1842f1 Mon Sep 17 00:00:00 2001 From: mlemanczyk Date: Sat, 1 Jul 2023 14:08:19 +0200 Subject: [PATCH] RecyclableLongList.VersionedEnumerator will clear the current value only when it's reference type. Tiny cleanup. --- .../RecyclableLongList.VersionedEnumerator.cs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) 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; }