Clean up improper usage of linguistic string functions (#31968)
authorLevi Broderick <GrabYourPitchforks@users.noreply.github.com>
Thu, 13 Feb 2020 17:40:34 +0000 (09:40 -0800)
committerGitHub <noreply@github.com>
Thu, 13 Feb 2020 17:40:34 +0000 (09:40 -0800)
commit036fb0779a5bc89026d2ec64172897ab86af5828
tree8d24b684be00c3a4a16b145d788e533c7501d923
parent35a59c1d8debff1e62e7142b7bbaa22996ff689d
Clean up improper usage of linguistic string functions (#31968)

- Optimize ToUpperInvariant/ToLowerInvariant
- Also optimize static field TextInfo.Invariant
- Rewrite ToUpper/Lower(Invariant) call sites to use optimized method
- Fix some uses of culture-aware ToUpper / ToLower to use invariant culture
- Replace Trim().Length with IsNullOrWhiteSpace where appropriate
- Use ordinal StartsWith / EndsWith where appropriate
- Avoid calling CultureInfo.InvariantCulture where possible
94 files changed:
src/libraries/Common/src/Interop/Linux/cgroups/Interop.cgroups.cs
src/libraries/Common/src/System/Data/Common/DbConnectionOptions.Common.cs
src/libraries/Common/src/System/Drawing/ColorTranslator.cs
src/libraries/Common/src/System/Net/NetworkInformation/UnixCommandLinePing.cs
src/libraries/Microsoft.VisualBasic.Core/src/Microsoft/VisualBasic/CompilerServices/LikeOperator.vb
src/libraries/Microsoft.VisualBasic.Core/src/Microsoft/VisualBasic/FileSystem.vb
src/libraries/Microsoft.XmlSerializer.Generator/src/Sgen.cs
src/libraries/System.CodeDom/src/Microsoft/CSharp/CSharpCodeGenerator.cs
src/libraries/System.CodeDom/src/System/Collections/Specialized/FixedStringLookup.cs
src/libraries/System.ComponentModel.Annotations/src/System/ComponentModel/DataAnnotations/RequiredAttribute.cs
src/libraries/System.ComponentModel.TypeConverter/src/System/ComponentModel/Design/DesigntimeLicenseContext.cs
src/libraries/System.ComponentModel.TypeConverter/src/System/ComponentModel/SyntaxCheck.cs
src/libraries/System.Composition.Hosting/src/System/Composition/Hosting/Util/Formatters.cs
src/libraries/System.Composition.Runtime/src/System/Composition/Runtime/Util/Formatters.cs
src/libraries/System.Configuration.ConfigurationManager/src/System/Configuration/ClientConfigPaths.cs
src/libraries/System.Configuration.ConfigurationManager/src/System/Configuration/ConfigurationElement.cs
src/libraries/System.Configuration.ConfigurationManager/src/System/Configuration/IdnElement.cs
src/libraries/System.Data.Common/src/System/Data/Common/AdapterUtil.Common.cs
src/libraries/System.Data.Common/src/System/Data/Common/DbConnectionOptions.cs
src/libraries/System.Data.Common/src/System/Data/DataTable.cs
src/libraries/System.Data.Common/src/System/Data/XMLSchema.cs
src/libraries/System.Data.Odbc/src/System/Data/Odbc/OdbcConnection.cs
src/libraries/System.Data.OleDb/src/DbConnectionOptions.cs
src/libraries/System.Data.OleDb/src/OleDbCommandBuilder.cs
src/libraries/System.Data.OleDb/src/OleDbConnection.cs
src/libraries/System.Data.OleDb/src/OleDbConnectionString.cs
src/libraries/System.Data.OleDb/src/OleDbConnectionStringBuilder.cs
src/libraries/System.Data.OleDb/src/OleDbDataReader.cs
src/libraries/System.Data.OleDb/src/PropertyInfoSet.cs
src/libraries/System.Diagnostics.PerformanceCounter/src/System/Diagnostics/InstanceDataCollection.cs
src/libraries/System.Diagnostics.PerformanceCounter/src/System/Diagnostics/InstanceDataCollectionCollection.cs
src/libraries/System.Diagnostics.PerformanceCounter/src/System/Diagnostics/PerformanceCounter.cs
src/libraries/System.Diagnostics.PerformanceCounter/src/System/Diagnostics/PerformanceCounterCategory.cs
src/libraries/System.Diagnostics.Process/src/System/Diagnostics/Process.Linux.cs
src/libraries/System.Diagnostics.Process/src/System/Diagnostics/Process.Windows.cs
src/libraries/System.Diagnostics.Process/src/System/Diagnostics/ProcessManager.Windows.cs
src/libraries/System.DirectoryServices.AccountManagement/src/System/DirectoryServices/AccountManagement/AD/ADStoreCtx.cs
src/libraries/System.DirectoryServices.AccountManagement/src/System/DirectoryServices/AccountManagement/Context.cs
src/libraries/System.DirectoryServices.AccountManagement/src/System/DirectoryServices/AccountManagement/SAM/SAMStoreCtx.cs
src/libraries/System.DirectoryServices.AccountManagement/src/System/DirectoryServices/AccountManagement/SAM/SAMStoreCtx_LoadStore.cs
src/libraries/System.DirectoryServices.Protocols/src/System/DirectoryServices/Protocols/common/DirectoryAttribute.cs
src/libraries/System.DirectoryServices/src/System/DirectoryServices/ActiveDirectory/ActiveDirectoryReplicationMetaData.cs
src/libraries/System.DirectoryServices/src/System/DirectoryServices/ActiveDirectory/ActiveDirectorySchemaClass.cs
src/libraries/System.DirectoryServices/src/System/DirectoryServices/ActiveDirectory/ActiveDirectorySiteLink.cs
src/libraries/System.DirectoryServices/src/System/DirectoryServices/ActiveDirectory/ActiveDirectorySiteLinkBridge.cs
src/libraries/System.DirectoryServices/src/System/DirectoryServices/ActiveDirectory/DirectoryServer.cs
src/libraries/System.DirectoryServices/src/System/DirectoryServices/ActiveDirectory/Locator.cs
src/libraries/System.DirectoryServices/src/System/DirectoryServices/ActiveDirectory/Utils.cs
src/libraries/System.DirectoryServices/src/System/DirectoryServices/DirectoryEntry.cs
src/libraries/System.DirectoryServices/src/System/DirectoryServices/PropertyCollection.cs
src/libraries/System.DirectoryServices/src/System/DirectoryServices/ResultPropertyCollection.cs
src/libraries/System.Drawing.Common/src/System/Drawing/Printing/PrintingServices.Unix.cs
src/libraries/System.IO.Ports/src/System/IO/Ports/SerialPort.FreeBSD.cs
src/libraries/System.IO.Ports/src/System/IO/Ports/SerialPort.Linux.cs
src/libraries/System.IO.Ports/src/System/IO/Ports/SerialPort.OSX.cs
src/libraries/System.Management/src/System/Management/ManagementQuery.cs
src/libraries/System.Management/src/System/Management/WMIGenerator.cs
src/libraries/System.Net.Http/src/System/Net/Http/Headers/ContentDispositionHeaderValue.cs
src/libraries/System.Net.Http/src/System/Net/Http/MultipartContent.cs
src/libraries/System.Net.HttpListener/src/System/Net/HttpListenerRequest.cs
src/libraries/System.Net.HttpListener/src/System/Net/Managed/HttpEndPointListener.cs
src/libraries/System.Net.HttpListener/src/System/Net/Managed/HttpListenerRequest.Managed.cs
src/libraries/System.Net.HttpListener/src/System/Net/Managed/ListenerPrefix.cs
src/libraries/System.Net.Mail/src/System/Net/Mime/HeaderCollection.cs
src/libraries/System.Net.Mail/src/System/Net/Mime/MimeMultiPart.cs
src/libraries/System.Net.Mail/src/System/Net/Mime/SmtpDateTime.cs
src/libraries/System.Net.NetworkInformation/src/System/Net/NetworkInformation/StringParsingHelpers.Addresses.cs
src/libraries/System.Net.Primitives/src/System/Net/Cookie.cs
src/libraries/System.Net.Primitives/src/System/Net/CookieContainer.cs
src/libraries/System.Net.Requests/src/System/Net/FtpWebRequest.cs
src/libraries/System.Net.Requests/src/System/Net/HttpWebResponse.cs
src/libraries/System.Net.Requests/src/System/Net/WebRequest.cs
src/libraries/System.Net.WebClient/src/System/Net/WebClient.cs
src/libraries/System.Private.CoreLib/src/System/AppContextConfigHelper.cs
src/libraries/System.Private.CoreLib/src/System/Char.cs
src/libraries/System.Private.CoreLib/src/System/Diagnostics/DebugProvider.cs
src/libraries/System.Private.CoreLib/src/System/Diagnostics/Tracing/TraceLogging/EventSourceActivity.cs
src/libraries/System.Private.CoreLib/src/System/Globalization/TextInfo.cs
src/libraries/System.Private.CoreLib/src/System/MemoryExtensions.Globalization.cs
src/libraries/System.Private.CoreLib/src/System/String.Comparison.cs
src/libraries/System.Private.CoreLib/src/System/String.Manipulation.cs
src/libraries/System.Private.DataContractSerialization/src/System/Runtime/Serialization/CollectionDataContract.cs
src/libraries/System.Private.Uri/src/System/UriScheme.cs
src/libraries/System.Private.Xml/src/System/Xml/Schema/XmlSchemaDataType.cs
src/libraries/System.Private.Xml/src/System/Xml/Serialization/CodeIdentifier.cs
src/libraries/System.Private.Xml/src/System/Xml/Serialization/Types.cs
src/libraries/System.Private.Xml/src/System/Xml/Serialization/XmlSerializationReader.cs
src/libraries/System.Private.Xml/src/System/Xml/Serialization/XmlSerializationWriterILGen.cs
src/libraries/System.Private.Xml/src/System/Xml/Xsl/Runtime/XmlCollation.cs
src/libraries/System.Reflection.MetadataLoadContext/src/System/Reflection/TypeLoading/General/TypeExtensions.netstandard.cs
src/libraries/System.Runtime.WindowsRuntime/src/System/Resources/WindowsRuntimeResourceManager.cs
src/libraries/System.Security.Cryptography.Xml/src/System/Security/Cryptography/Xml/Utils.cs
src/libraries/System.Text.Json/src/System/Text/Json/Serialization/ExtensionMethods.cs
src/mono/netcore/System.Private.CoreLib/src/System/RuntimeType.Mono.cs