diff --git a/Recyclable.Collections/RecyclableList.cs b/Recyclable.Collections/RecyclableList.cs index 68b091f..2c51c62 100644 --- a/Recyclable.Collections/RecyclableList.cs +++ b/Recyclable.Collections/RecyclableList.cs @@ -6,6 +6,7 @@ namespace Recyclable.Collections [Serializable] public sealed partial class RecyclableList : IList, IReadOnlyList, IDisposable { + private const int InitialCapacity = 4; private static readonly bool NeedsClearing = !typeof(T).IsValueType; public static explicit operator ReadOnlySpan(RecyclableList source) => new(source._memoryBlock, 0, source.Count); @@ -70,13 +71,13 @@ namespace Recyclable.Collections public RecyclableList() { - _capacity = 4; - _memoryBlock = new T[4]; + _capacity = InitialCapacity; + _memoryBlock = new T[InitialCapacity]; } public RecyclableList(int initialCapacity) { - if (initialCapacity >= 4) + if (initialCapacity >= InitialCapacity) { _memoryBlock = initialCapacity >= RecyclableDefaults.MinPooledArrayLength ? RecyclableListHelpers._arrayPool.Rent(initialCapacity) @@ -85,56 +86,56 @@ namespace Recyclable.Collections } else { - _memoryBlock = new T[4]; - _capacity = 4; + _memoryBlock = new T[InitialCapacity]; + _capacity = InitialCapacity; } } public RecyclableList(RecyclableList source) { - _capacity = 4; - _memoryBlock = new T[4]; + _capacity = InitialCapacity; + _memoryBlock = new T[InitialCapacity]; AddRange(source); } public RecyclableList(RecyclableLongList source) { - _capacity = 4; - _memoryBlock = new T[4]; + _capacity = InitialCapacity; + _memoryBlock = new T[InitialCapacity]; AddRange(source); } public RecyclableList(ReadOnlySpan source) { - _capacity = 4; - _memoryBlock = new T[4]; + _capacity = InitialCapacity; + _memoryBlock = new T[InitialCapacity]; AddRange(source); } public RecyclableList(in T[] source) { - _capacity = 4; - _memoryBlock = new T[4]; + _capacity = InitialCapacity; + _memoryBlock = new T[InitialCapacity]; AddRange(source); } public RecyclableList(List source) { - _capacity = 4; - _memoryBlock = new T[4]; + _capacity = InitialCapacity; + _memoryBlock = new T[InitialCapacity]; AddRange(source); } public RecyclableList(IList source) { - _capacity = 4; - _memoryBlock = new T[4]; + _capacity = InitialCapacity; + _memoryBlock = new T[InitialCapacity]; AddRange(source); } public RecyclableList(IEnumerable source, int initialCapacity = RecyclableDefaults.Capacity) { - if (initialCapacity >= 4) + if (initialCapacity >= InitialCapacity) { _memoryBlock = initialCapacity >= RecyclableDefaults.MinPooledArrayLength ? RecyclableListHelpers._arrayPool.Rent(initialCapacity) @@ -143,8 +144,8 @@ namespace Recyclable.Collections } else { - _capacity = 4; - _memoryBlock = new T[4]; + _capacity = InitialCapacity; + _memoryBlock = new T[InitialCapacity]; } AddRange(source);