From 769fc6d2899d059f2d408e94b445613ec99fbb4e Mon Sep 17 00:00:00 2001 From: Martin Costello Date: Wed, 8 Jul 2020 17:40:49 +0100 Subject: [PATCH] Cache Entries' Count for loops (#23707) Cache the value of Entries.Count into a local when enumerating loops, rather than re-evaluating on each pass. --- src/Html/Abstractions/src/HtmlContentBuilder.cs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/Html/Abstractions/src/HtmlContentBuilder.cs b/src/Html/Abstractions/src/HtmlContentBuilder.cs index 626dfcea98..c5836cfb60 100644 --- a/src/Html/Abstractions/src/HtmlContentBuilder.cs +++ b/src/Html/Abstractions/src/HtmlContentBuilder.cs @@ -111,7 +111,8 @@ namespace Microsoft.AspNetCore.Html throw new ArgumentNullException(nameof(destination)); } - for (var i = 0; i < Entries.Count; i++) + var count = Entries.Count; + for (var i = 0; i < count; i++) { var entry = Entries[i]; @@ -140,7 +141,8 @@ namespace Microsoft.AspNetCore.Html throw new ArgumentNullException(nameof(destination)); } - for (var i = 0; i < Entries.Count; i++) + var count = Entries.Count; + for (var i = 0; i < count; i++) { var entry = Entries[i]; @@ -176,7 +178,8 @@ namespace Microsoft.AspNetCore.Html throw new ArgumentNullException(nameof(encoder)); } - for (var i = 0; i < Entries.Count; i++) + var count = Entries.Count; + for (var i = 0; i < count; i++) { var entry = Entries[i];