diff --git a/src/Http/Http.Extensions/src/UriHelper.cs b/src/Http/Http.Extensions/src/UriHelper.cs index a6b5846a7d24..5cb0a12f26d0 100644 --- a/src/Http/Http.Extensions/src/UriHelper.cs +++ b/src/Http/Http.Extensions/src/UriHelper.cs @@ -11,9 +11,9 @@ namespace Microsoft.AspNetCore.Http.Extensions /// public static class UriHelper { - private const string ForwardSlash = "/"; - private const string Pound = "#"; - private const string QuestionMark = "?"; + private const char ForwardSlash = '/'; + private const char Hash = '#'; + private const char QuestionMark = '?'; private const string SchemeDelimiter = "://"; /// @@ -103,7 +103,7 @@ public static void FromAbsolute( path = new PathString(); query = new QueryString(); fragment = new FragmentString(); - var startIndex = uri.IndexOf(SchemeDelimiter); + var startIndex = uri.IndexOf(SchemeDelimiter, StringComparison.Ordinal); if (startIndex < 0) { @@ -115,10 +115,9 @@ public static void FromAbsolute( // PERF: Calculate the end of the scheme for next IndexOf startIndex += SchemeDelimiter.Length; - var searchIndex = -1; + int searchIndex; var limit = uri.Length; - - if ((searchIndex = uri.IndexOf(Pound, startIndex)) >= 0 && searchIndex < limit) + if ((searchIndex = uri.IndexOf(Hash, startIndex)) >= 0 && searchIndex < limit) { fragment = FragmentString.FromUriComponent(uri.Substring(searchIndex)); limit = searchIndex;