From 43c2c6f13a573f1e3941364cf56f312ce378ef2e Mon Sep 17 00:00:00 2001 From: mlemanczyk Date: Mon, 23 Jan 2023 01:40:11 +0100 Subject: [PATCH] if converted to switch for performance improvements. --- Recyclable.Collections/RecyclableList.cs | 28 +++++++++++++----------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/Recyclable.Collections/RecyclableList.cs b/Recyclable.Collections/RecyclableList.cs index 0738e36..e61bad4 100644 --- a/Recyclable.Collections/RecyclableList.cs +++ b/Recyclable.Collections/RecyclableList.cs @@ -180,21 +180,23 @@ namespace Recyclable.Collections public RecyclableList(IEnumerable source, int blockSize = RecyclableDefaults.BlockSize, long? expectedItemsCount = default) { - if (expectedItemsCount > 0) + switch (expectedItemsCount > 0) { - _memoryBlocks = SetNewLength(_memoryBlocks, blockSize, expectedItemsCount.Value); - if (_memoryBlocks.Length > 0) - { - blockSize = _memoryBlocks[0].Length; - } + case true: + _memoryBlocks = SetNewLength(_memoryBlocks, blockSize, expectedItemsCount.Value); + if (_memoryBlocks.Length > 0) + { + blockSize = _memoryBlocks[0].Length; + } - _blockSize = blockSize; - _capacity = _memoryBlocks.Length * blockSize; - } - else - { - _blockSize = blockSize; - _memoryBlocks = _emptyBlockArray; + _blockSize = blockSize; + _capacity = _memoryBlocks.Length * blockSize; + break; + + case false: + _blockSize = blockSize; + _memoryBlocks = _emptyBlockArray; + break; } AddRange(source);