diff --git a/src/Docfx.Build.OverwriteDocuments/OverwriteUtility.cs b/src/Docfx.Build.OverwriteDocuments/OverwriteUtility.cs index 8960cefccf9..275874b7e5e 100644 --- a/src/Docfx.Build.OverwriteDocuments/OverwriteUtility.cs +++ b/src/Docfx.Build.OverwriteDocuments/OverwriteUtility.cs @@ -23,7 +23,7 @@ public static List ParseOPath(string OPathString) throw new ArgumentException("OPathString cannot be null or empty.", nameof(OPathString)); } - if (OPathString.EndsWith("/", StringComparison.Ordinal)) + if (OPathString.EndsWith('/')) { throw new ArgumentException($"{OPathString} is not a valid OPath"); } @@ -39,7 +39,7 @@ public static List ParseOPath(string OPathString) throw new ArgumentException($"{OPathString} is not a valid OPath"); } - if (!match.Value.EndsWith("/", StringComparison.Ordinal) && match.Groups["key"].Success) + if (!match.Value.EndsWith('/') && match.Groups["key"].Success) { throw new ArgumentException($"{OPathString} is not a valid OPath"); } diff --git a/src/Docfx.Build.RestApi/RestApiHelper.cs b/src/Docfx.Build.RestApi/RestApiHelper.cs index 7235523ce8d..96258dc939e 100644 --- a/src/Docfx.Build.RestApi/RestApiHelper.cs +++ b/src/Docfx.Build.RestApi/RestApiHelper.cs @@ -48,7 +48,7 @@ public static SwaggerFormattedReference FormatReferenceFullPath(string reference } // Not decode for JSON String Representation - if (reference.StartsWith("/", StringComparison.Ordinal)) + if (reference.StartsWith('/')) { return new SwaggerFormattedReference { diff --git a/src/Docfx.Build.SchemaDriven/Processors/HrefInterpreter.cs b/src/Docfx.Build.SchemaDriven/Processors/HrefInterpreter.cs index 64fee4703e3..afe370d804d 100644 --- a/src/Docfx.Build.SchemaDriven/Processors/HrefInterpreter.cs +++ b/src/Docfx.Build.SchemaDriven/Processors/HrefInterpreter.cs @@ -44,7 +44,7 @@ public object Interpret(BaseSchema schema, object value, IProcessContext context } // "/" is also considered as absolute to us - if (uri.IsAbsoluteUri || val.StartsWith("/", StringComparison.Ordinal)) + if (uri.IsAbsoluteUri || val.StartsWith('/')) { return Helper.RemoveHostName(val, _siteHostName); } diff --git a/src/Docfx.Build/DocumentBuildContext.cs b/src/Docfx.Build/DocumentBuildContext.cs index 4d272514036..9f8e0ac58f0 100644 --- a/src/Docfx.Build/DocumentBuildContext.cs +++ b/src/Docfx.Build/DocumentBuildContext.cs @@ -43,7 +43,7 @@ from u in parameters.XRefMaps if (!string.IsNullOrEmpty(versionDir)) { versionDir = versionDir.Replace('\\', '/'); - if (!versionDir.EndsWith("/", StringComparison.Ordinal)) + if (!versionDir.EndsWith('/')) { versionDir += "/"; } @@ -95,7 +95,7 @@ from u in xrefMaps if (!string.IsNullOrEmpty(versionFolder)) { versionFolder = versionFolder.Replace('\\', '/'); - if (!versionFolder.EndsWith("/", StringComparison.Ordinal)) + if (!versionFolder.EndsWith('/')) { versionFolder += "/"; } diff --git a/src/Docfx.Build/FileCollection.cs b/src/Docfx.Build/FileCollection.cs index 43a98f54a07..48b557d0ee3 100644 --- a/src/Docfx.Build/FileCollection.cs +++ b/src/Docfx.Build/FileCollection.cs @@ -61,11 +61,11 @@ public void Add(DocumentType type, string baseDir, IEnumerable files, st throw new ArgumentException("DestinationDir must start with BaseDir, or relative path.", nameof(destinationDir)); } } - if (!string.IsNullOrEmpty(sourceDir) && !sourceDir.EndsWith("/", StringComparison.Ordinal)) + if (!string.IsNullOrEmpty(sourceDir) && !sourceDir.EndsWith('/')) { sourceDir += "/"; } - if (!string.IsNullOrEmpty(destinationDir) && !destinationDir.EndsWith("/", StringComparison.Ordinal)) + if (!string.IsNullOrEmpty(destinationDir) && !destinationDir.EndsWith('/')) { destinationDir += "/"; } diff --git a/src/Docfx.Build/PostProcessors/SitemapGenerator.cs b/src/Docfx.Build/PostProcessors/SitemapGenerator.cs index c5e4cfd8d5f..141a63c792f 100644 --- a/src/Docfx.Build/PostProcessors/SitemapGenerator.cs +++ b/src/Docfx.Build/PostProcessors/SitemapGenerator.cs @@ -33,7 +33,7 @@ public Manifest Process(Manifest manifest, string outputFolder, CancellationToke return manifest; } - if (!manifest.Sitemap.BaseUrl.EndsWith("/", StringComparison.Ordinal)) + if (!manifest.Sitemap.BaseUrl.EndsWith('/')) { manifest.Sitemap.BaseUrl += '/'; } @@ -105,7 +105,7 @@ private static SitemapElementOptions GetOptions(SitemapOptions rootOptions, stri } else { - if (!options.BaseUrl.EndsWith("/", StringComparison.Ordinal)) + if (!options.BaseUrl.EndsWith('/')) { options.BaseUrl += '/'; } diff --git a/src/Docfx.Common/FileAbstractLayer/RealFileReader.cs b/src/Docfx.Common/FileAbstractLayer/RealFileReader.cs index bd53379d61f..d9de5639a03 100644 --- a/src/Docfx.Common/FileAbstractLayer/RealFileReader.cs +++ b/src/Docfx.Common/FileAbstractLayer/RealFileReader.cs @@ -18,8 +18,8 @@ public RealFileReader(string inputFolder) throw new DirectoryNotFoundException($"Directory ({inputFolder}) not found."); } if (inputFolder.Length > 0 && - !inputFolder.EndsWith("\\", StringComparison.Ordinal) && - !inputFolder.EndsWith("/", StringComparison.Ordinal)) + !inputFolder.EndsWith('\\') && + !inputFolder.EndsWith('/')) { inputFolder += "/"; } diff --git a/src/Docfx.Common/YamlMime.cs b/src/Docfx.Common/YamlMime.cs index 59a3c69bfbe..5a04ad6108a 100644 --- a/src/Docfx.Common/YamlMime.cs +++ b/src/Docfx.Common/YamlMime.cs @@ -19,7 +19,7 @@ public static class YamlMime ArgumentNullException.ThrowIfNull(reader); var line = reader.ReadLine(); - if (line == null || !line.StartsWith("#", StringComparison.Ordinal)) + if (line == null || !line.StartsWith('#')) { return null; } diff --git a/src/Docfx.Glob/GlobMatcher.cs b/src/Docfx.Glob/GlobMatcher.cs index 493f2ffae7c..9e83ac95a83 100644 --- a/src/Docfx.Glob/GlobMatcher.cs +++ b/src/Docfx.Glob/GlobMatcher.cs @@ -137,7 +137,7 @@ private static IEnumerable Split(string path, params char[] splitter) yield return parts[i] + "/"; } - yield return path.EndsWith("/", StringComparison.Ordinal) ? parts[parts.Length - 1] + "/" : parts[parts.Length - 1]; + yield return path.EndsWith('/') ? parts[parts.Length - 1] + "/" : parts[parts.Length - 1]; } private string ConvertSingleGlob(IEnumerable regexItems) @@ -148,7 +148,7 @@ private string ConvertSingleGlob(IEnumerable regexItems) private static bool IsFolderPath(string path) { - return path.EndsWith("/", StringComparison.Ordinal); + return path.EndsWith('/'); } /// @@ -406,14 +406,9 @@ private bool MatchOne(string[] fileParts, GlobRegexItem[] globParts, bool matchP private bool DisallowedMatchExists(string filePart) { - if (filePart == "." - || filePart == ".." - || (!_allowDotMatch && filePart.StartsWith(".", StringComparison.Ordinal))) - { - return true; - } - - return false; + return filePart == "." + || filePart == ".." + || (!_allowDotMatch && filePart.StartsWith('.')); } private static string UnescapeGlob(string s) diff --git a/src/Docfx.MarkdigEngine/MarkdigMarkdownService.cs b/src/Docfx.MarkdigEngine/MarkdigMarkdownService.cs index 3a56eaa6296..3a7ebcf566a 100644 --- a/src/Docfx.MarkdigEngine/MarkdigMarkdownService.cs +++ b/src/Docfx.MarkdigEngine/MarkdigMarkdownService.cs @@ -173,7 +173,7 @@ private MarkdownPipeline CreateMarkdownPipeline(bool isInline, bool multipleYaml private static string GetLink(string path, MarkdownObject origin) { - if (InclusionContext.IsInclude && RelativePath.IsRelativePath(path) && PathUtility.IsRelativePath(path) && !RelativePath.IsPathFromWorkingFolder(path) && !path.StartsWith("#", StringComparison.Ordinal)) + if (InclusionContext.IsInclude && RelativePath.IsRelativePath(path) && PathUtility.IsRelativePath(path) && !RelativePath.IsPathFromWorkingFolder(path) && !path.StartsWith('#')) { return ((RelativePath)InclusionContext.File + (RelativePath)path).GetPathFromWorkingFolder(); } diff --git a/src/Docfx.YamlSerialization/ObjectDescriptors/BetterObjectDescriptor.cs b/src/Docfx.YamlSerialization/ObjectDescriptors/BetterObjectDescriptor.cs index 0e90f372e8e..6732bc80dda 100644 --- a/src/Docfx.YamlSerialization/ObjectDescriptors/BetterObjectDescriptor.cs +++ b/src/Docfx.YamlSerialization/ObjectDescriptors/BetterObjectDescriptor.cs @@ -30,8 +30,8 @@ static bool NeedQuote(object val) || Regexes.NullLike.IsMatch(s) || Regexes.IntegerLike.IsMatch(s) || Regexes.FloatLike.IsMatch(s) - || s.StartsWith("'", StringComparison.Ordinal) - || s.StartsWith("\"", StringComparison.Ordinal) + || s.StartsWith('\'') + || s.StartsWith('"') || s.Length > 0 && char.IsWhiteSpace(s[0]); } }