From 22a40b6f2bee8fd96874bf0fa0daa94fcf6a6710 Mon Sep 17 00:00:00 2001 From: Ben Adams Date: Wed, 29 Aug 2018 04:42:53 +0100 Subject: [PATCH] Use Pages as List --- .../Internal/PagedCharBuffer.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/Microsoft.AspNetCore.Mvc.ViewFeatures/Internal/PagedCharBuffer.cs b/src/Microsoft.AspNetCore.Mvc.ViewFeatures/Internal/PagedCharBuffer.cs index 12dcce04ea..0c4931c7b9 100644 --- a/src/Microsoft.AspNetCore.Mvc.ViewFeatures/Internal/PagedCharBuffer.cs +++ b/src/Microsoft.AspNetCore.Mvc.ViewFeatures/Internal/PagedCharBuffer.cs @@ -11,7 +11,6 @@ namespace Microsoft.AspNetCore.Mvc.ViewFeatures.Internal { public const int PageSize = 1024; private int _charIndex; - private List _pages = new List(); public PagedCharBuffer(ICharBufferSource bufferSource) { @@ -20,14 +19,15 @@ namespace Microsoft.AspNetCore.Mvc.ViewFeatures.Internal public ICharBufferSource BufferSource { get; } - public IList Pages => _pages; + // Strongly typed rather than IList for performance + public List Pages { get; } = new List(); public int Length { get { var length = _charIndex; - var pages = _pages; + var pages = Pages; var fullPages = pages.Count - 1; for (var i = 0; i < fullPages; i++) { @@ -103,7 +103,7 @@ namespace Microsoft.AspNetCore.Mvc.ViewFeatures.Internal /// public void Clear() { - var pages = _pages; + var pages = Pages; for (var i = pages.Count - 1; i > 0; i--) { var page = pages[i]; @@ -139,7 +139,7 @@ namespace Microsoft.AspNetCore.Mvc.ViewFeatures.Internal try { page = BufferSource.Rent(PageSize); - _pages.Add(page); + Pages.Add(page); } catch when (page != null) { @@ -152,7 +152,7 @@ namespace Microsoft.AspNetCore.Mvc.ViewFeatures.Internal public void Dispose() { - var pages = _pages; + var pages = Pages; var count = pages.Count; for (var i = 0; i < count; i++) {