From 2e8ced48565ceb0102c2b8fc3c59d216be7edf58 Mon Sep 17 00:00:00 2001 From: Ilya Date: Fri, 13 Mar 2020 17:46:05 +0500 Subject: [PATCH] Use new string.Split() overloads (#11867) --- src/Microsoft.WSMan.Management/ConfigProvider.cs | 12 ++++++------ .../WSManConnections.cs | 4 ++-- src/Microsoft.WSMan.Management/WSManInstance.cs | 16 ++++++++-------- src/Microsoft.WSMan.Management/WsManHelper.cs | 8 ++++---- .../CoreCLR/CorePsAssemblyLoadContext.cs | 2 +- .../CoreCLR/CorePsPlatform.cs | 10 +++++----- .../CommandCompletion/CompletionCompleters.cs | 6 +++--- .../engine/hostifaces/NativeCultureResolver.cs | 3 +-- .../remoting/fanin/PSSessionConfigurationData.cs | 2 +- src/TypeCatalogGen/TypeCatalogGen.cs | 2 +- 10 files changed, 32 insertions(+), 33 deletions(-) diff --git a/src/Microsoft.WSMan.Management/ConfigProvider.cs b/src/Microsoft.WSMan.Management/ConfigProvider.cs index bc6b961adc..ccb03bc954 100644 --- a/src/Microsoft.WSMan.Management/ConfigProvider.cs +++ b/src/Microsoft.WSMan.Management/ConfigProvider.cs @@ -1977,8 +1977,8 @@ namespace Microsoft.WSMan.Management helper.CreateWsManConnection(parametersetName, dynParams.ConnectionURI, dynParams.Port, Name, dynParams.ApplicationName, dynParams.UseSSL, dynParams.Authentication, dynParams.SessionOption, this.Credential, dynParams.CertificateThumbprint); if (dynParams.ConnectionURI != null) { - string[] constrsplit = dynParams.ConnectionURI.OriginalString.Split(new string[] { ":" + dynParams.Port + "/" + dynParams.ApplicationName }, StringSplitOptions.None); - string[] constrsplit1 = constrsplit[0].Split(new string[] { "//" }, StringSplitOptions.None); + string[] constrsplit = dynParams.ConnectionURI.OriginalString.Split(":" + dynParams.Port + "/" + dynParams.ApplicationName, StringSplitOptions.None); + string[] constrsplit1 = constrsplit[0].Split("//", StringSplitOptions.None); Name = constrsplit1[1].Trim(); } @@ -2526,9 +2526,9 @@ namespace Microsoft.WSMan.Management private string GetRootNodeName(string ResourceURI) { string tempuri = string.Empty; - if (ResourceURI.Contains("?")) + if (ResourceURI.Contains('?')) { - ResourceURI = ResourceURI.Split(new char[] { '?' }).GetValue(0).ToString(); + ResourceURI = ResourceURI.Split('?').GetValue(0).ToString(); } string PTRN_URI_LAST = "([a-z_][-a-z0-9._]*)$"; @@ -3164,8 +3164,8 @@ namespace Microsoft.WSMan.Management if (!string.IsNullOrEmpty(existingvalue)) { - string[] existingsplitvalues = existingvalue.Split(new string[] { Delimiter }, StringSplitOptions.None); - string[] newvalues = value.Split(new string[] { Delimiter }, StringSplitOptions.None); + string[] existingsplitvalues = existingvalue.Split(Delimiter, StringSplitOptions.None); + string[] newvalues = value.Split(Delimiter, StringSplitOptions.None); foreach (string val in newvalues) { if (Array.IndexOf(existingsplitvalues, val) == -1) diff --git a/src/Microsoft.WSMan.Management/WSManConnections.cs b/src/Microsoft.WSMan.Management/WSManConnections.cs index 3453c5cffa..57c504d61d 100644 --- a/src/Microsoft.WSMan.Management/WSManConnections.cs +++ b/src/Microsoft.WSMan.Management/WSManConnections.cs @@ -259,8 +259,8 @@ namespace Microsoft.WSMan.Management try { // always in the format http://server:port/applicationname - string[] constrsplit = connectionuri.OriginalString.Split(new string[] { ":" + port + "/" + applicationname }, StringSplitOptions.None); - string[] constrsplit1 = constrsplit[0].Split(new string[] { "//" }, StringSplitOptions.None); + string[] constrsplit = connectionuri.OriginalString.Split(":" + port + "/" + applicationname, StringSplitOptions.None); + string[] constrsplit1 = constrsplit[0].Split("//", StringSplitOptions.None); computername = constrsplit1[1].Trim(); } catch (IndexOutOfRangeException) diff --git a/src/Microsoft.WSMan.Management/WSManInstance.cs b/src/Microsoft.WSMan.Management/WSManInstance.cs index b0873b6d1d..243095bc4f 100644 --- a/src/Microsoft.WSMan.Management/WSManInstance.cs +++ b/src/Microsoft.WSMan.Management/WSManInstance.cs @@ -528,8 +528,8 @@ namespace Microsoft.WSMan.Management try { // in the format http(s)://server[:port/applicationname] - string[] constrsplit = connectionuri.OriginalString.Split(new string[] { ":" + port + "/" + applicationname }, StringSplitOptions.None); - string[] constrsplit1 = constrsplit[0].Split(new string[] { "//" }, StringSplitOptions.None); + string[] constrsplit = connectionuri.OriginalString.Split(":" + port + "/" + applicationname, StringSplitOptions.None); + string[] constrsplit1 = constrsplit[0].Split("//", StringSplitOptions.None); computername = constrsplit1[1].Trim(); } catch (IndexOutOfRangeException) @@ -908,8 +908,8 @@ namespace Microsoft.WSMan.Management try { // in the format http(s)://server[:port/applicationname] - string[] constrsplit = connectionuri.OriginalString.Split(new string[] { ":" + port + "/" + applicationname }, StringSplitOptions.None); - string[] constrsplit1 = constrsplit[0].Split(new string[] { "//" }, StringSplitOptions.None); + string[] constrsplit = connectionuri.OriginalString.Split(":" + port + "/" + applicationname, StringSplitOptions.None); + string[] constrsplit1 = constrsplit[0].Split("//", StringSplitOptions.None); computername = constrsplit1[1].Trim(); } catch (IndexOutOfRangeException) @@ -1202,8 +1202,8 @@ namespace Microsoft.WSMan.Management try { // in the format http(s)://server[:port/applicationname] - string[] constrsplit = connectionuri.OriginalString.Split(new string[] { ":" + port + "/" + applicationname }, StringSplitOptions.None); - string[] constrsplit1 = constrsplit[0].Split(new string[] { "//" }, StringSplitOptions.None); + string[] constrsplit = connectionuri.OriginalString.Split(":" + port + "/" + applicationname, StringSplitOptions.None); + string[] constrsplit1 = constrsplit[0].Split("//", StringSplitOptions.None); computername = constrsplit1[1].Trim(); } catch (IndexOutOfRangeException) @@ -1491,8 +1491,8 @@ namespace Microsoft.WSMan.Management try { // in the format http(s)://server[:port/applicationname] - string[] constrsplit = connectionuri.OriginalString.Split(new string[] { ":" + port + "/" + applicationname }, StringSplitOptions.None); - string[] constrsplit1 = constrsplit[0].Split(new string[] { "//" }, StringSplitOptions.None); + string[] constrsplit = connectionuri.OriginalString.Split(":" + port + "/" + applicationname, StringSplitOptions.None); + string[] constrsplit1 = constrsplit[0].Split("//", StringSplitOptions.None); computername = constrsplit1[1].Trim(); } catch (IndexOutOfRangeException) diff --git a/src/Microsoft.WSMan.Management/WsManHelper.cs b/src/Microsoft.WSMan.Management/WsManHelper.cs index 81762a099f..3fcd7c4d83 100644 --- a/src/Microsoft.WSMan.Management/WsManHelper.cs +++ b/src/Microsoft.WSMan.Management/WsManHelper.cs @@ -953,8 +953,8 @@ namespace Microsoft.WSMan.Management if (connectionuri != null) { // in the format http(s)://server[:port/applicationname] - string[] constrsplit = connectionStr.Split(new string[] { ":" + port + "/" + applicationname }, StringSplitOptions.None); - string[] constrsplit1 = constrsplit[0].Split(new string[] { "//" }, StringSplitOptions.None); + string[] constrsplit = connectionStr.Split(":" + port + "/" + applicationname, StringSplitOptions.None); + string[] constrsplit1 = constrsplit[0].Split("//", StringSplitOptions.None); computername = constrsplit1[1].Trim(); } @@ -1098,10 +1098,10 @@ namespace Microsoft.WSMan.Management string Line = _sr.ReadLine(); if (Line.Contains("=")) { - string[] arr = Line.Split(new char[] { '=' }, 2); + string[] arr = Line.Split('=', count: 2); if (!ResourceValueCache.ContainsKey(arr[0].Trim())) { - string value = arr[1].TrimStart(new char[] { '"' }).TrimEnd(new char[] { '"' }); + string value = arr[1].Trim('"'); ResourceValueCache.Add(arr[0].Trim(), value.Trim()); } } diff --git a/src/System.Management.Automation/CoreCLR/CorePsAssemblyLoadContext.cs b/src/System.Management.Automation/CoreCLR/CorePsAssemblyLoadContext.cs index ed5719b13b..bfc683c090 100644 --- a/src/System.Management.Automation/CoreCLR/CorePsAssemblyLoadContext.cs +++ b/src/System.Management.Automation/CoreCLR/CorePsAssemblyLoadContext.cs @@ -71,7 +71,7 @@ namespace System.Management.Automation } else { - _probingPaths = basePaths.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries); + _probingPaths = basePaths.Split(';', StringSplitOptions.RemoveEmptyEntries); for (int i = 0; i < _probingPaths.Length; i++) { string basePath = _probingPaths[i]; diff --git a/src/System.Management.Automation/CoreCLR/CorePsPlatform.cs b/src/System.Management.Automation/CoreCLR/CorePsPlatform.cs index 108574d9f0..7fe897d8ea 100644 --- a/src/System.Management.Automation/CoreCLR/CorePsPlatform.cs +++ b/src/System.Management.Automation/CoreCLR/CorePsPlatform.cs @@ -785,7 +785,7 @@ namespace System.Management.Automation return username; } - // Get and add the user name to the cache so we don't need to + // Get and add the user name to the cache so we don't need to // have a pinvoke for each file. username = NativeMethods.GetPwUid(UserId); usernameCache.Add(UserId, username); @@ -805,7 +805,7 @@ namespace System.Management.Automation return groupname; } - // Get and add the group name to the cache so we don't need to + // Get and add the group name to the cache so we don't need to // have a pinvoke for each file. groupname = NativeMethods.GetGrGid(GroupId); groupnameCache.Add(GroupId, groupname); @@ -976,7 +976,7 @@ namespace System.Management.Automation try { var stat = System.IO.File.ReadAllText(path); - var parts = stat.Split(new[] { ' ' }, 5); + var parts = stat.Split(' ', 5); if (parts.Length < 5) { return invalidPid; @@ -1092,8 +1092,8 @@ namespace System.Management.Automation /// /// This is a struct from getcommonstat.h in the native library. - /// It presents each member of the stat structure as the largest type of that member across - /// all stat structures on the platforms we support. This allows us to present a common + /// It presents each member of the stat structure as the largest type of that member across + /// all stat structures on the platforms we support. This allows us to present a common /// stat structure for all our platforms. /// [StructLayout(LayoutKind.Sequential)] diff --git a/src/System.Management.Automation/engine/CommandCompletion/CompletionCompleters.cs b/src/System.Management.Automation/engine/CommandCompletion/CompletionCompleters.cs index f52e9f79b2..c63ef8f05f 100644 --- a/src/System.Management.Automation/engine/CommandCompletion/CompletionCompleters.cs +++ b/src/System.Management.Automation/engine/CommandCompletion/CompletionCompleters.cs @@ -1687,7 +1687,7 @@ namespace System.Management.Automation string enumString = LanguagePrimitives.EnumSingleTypeConverter.EnumValues(parameterType); string separator = CultureInfo.CurrentUICulture.TextInfo.ListSeparator; - string[] enumArray = enumString.Split(new string[] { separator }, StringSplitOptions.RemoveEmptyEntries); + string[] enumArray = enumString.Split(separator, StringSplitOptions.RemoveEmptyEntries); string wordToComplete = context.WordToComplete; string quote = HandleDoubleAndSingleQuote(ref wordToComplete); @@ -6151,7 +6151,7 @@ namespace System.Management.Automation string enumString = LanguagePrimitives.EnumSingleTypeConverter.EnumValues(typeof(SwitchFlags)); string separator = CultureInfo.CurrentUICulture.TextInfo.ListSeparator; - string[] enumArray = enumString.Split(new string[] { separator }, StringSplitOptions.RemoveEmptyEntries); + string[] enumArray = enumString.Split(separator, StringSplitOptions.RemoveEmptyEntries); var pattern = WildcardPattern.Get(wordToComplete + "*", WildcardOptions.IgnoreCase); var enumList = new List(); @@ -6626,7 +6626,7 @@ namespace System.Management.Automation string tooltip = memberInfo.ToString(); if (tooltip.IndexOf("),", StringComparison.Ordinal) != -1) { - var overloads = tooltip.Split(new[] { ")," }, StringSplitOptions.RemoveEmptyEntries); + var overloads = tooltip.Split("),", StringSplitOptions.RemoveEmptyEntries); var newTooltip = new StringBuilder(); foreach (var overload in overloads) { diff --git a/src/System.Management.Automation/engine/hostifaces/NativeCultureResolver.cs b/src/System.Management.Automation/engine/hostifaces/NativeCultureResolver.cs index f53035d6c2..97afac1e28 100644 --- a/src/System.Management.Automation/engine/hostifaces/NativeCultureResolver.cs +++ b/src/System.Management.Automation/engine/hostifaces/NativeCultureResolver.cs @@ -236,8 +236,7 @@ namespace Microsoft.PowerShell { try { - string[] fallbacks = langBuffer.Split(new char[] { '\0' }, - StringSplitOptions.RemoveEmptyEntries); + string[] fallbacks = langBuffer.Split('\0', StringSplitOptions.RemoveEmptyEntries); string fallback = fallbacks[0]; string[] fallbacksForParent = null; diff --git a/src/System.Management.Automation/engine/remoting/fanin/PSSessionConfigurationData.cs b/src/System.Management.Automation/engine/remoting/fanin/PSSessionConfigurationData.cs index 52a2a9ed80..0f4a29c4ac 100644 --- a/src/System.Management.Automation/engine/remoting/fanin/PSSessionConfigurationData.cs +++ b/src/System.Management.Automation/engine/remoting/fanin/PSSessionConfigurationData.cs @@ -189,7 +189,7 @@ namespace System.Management.Automation.Remoting AssertValueNotAssigned(ModulesToImportToken, _modulesToImport); _modulesToImport = new List(); _modulesToImportInternal = new List(); - object[] modulesToImport = optionValue.Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries); + object[] modulesToImport = optionValue.Split(',', StringSplitOptions.RemoveEmptyEntries); foreach (var module in modulesToImport) { var s = module as string; diff --git a/src/TypeCatalogGen/TypeCatalogGen.cs b/src/TypeCatalogGen/TypeCatalogGen.cs index 2427f90fa7..668556cafb 100644 --- a/src/TypeCatalogGen/TypeCatalogGen.cs +++ b/src/TypeCatalogGen/TypeCatalogGen.cs @@ -384,7 +384,7 @@ DUPLICATE key '{fullName}' from '{strongAssemblyName}' (IsObsolete? {isTypeObsol } string allText = File.ReadAllText(referenceListPath); - string[] references = allText.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries); + string[] references = allText.Split(';', StringSplitOptions.RemoveEmptyEntries); List refAssemblyFiles = new List(120); for (int i = 0; i < references.Length; i++)