Replace a few new string(char, 1) with char.ToString(char) (dotnet/coreclr#21406)
authorStephen Toub <stoub@microsoft.com>
Thu, 6 Dec 2018 19:27:42 +0000 (14:27 -0500)
committerJan Kotas <jkotas@microsoft.com>
Thu, 6 Dec 2018 19:27:42 +0000 (11:27 -0800)
Slightly cleaner, slightly faster.

Commit migrated from https://github.com/dotnet/coreclr/commit/d1433bca815a32a9cb77b12f6baf0a64c61b20cf

src/libraries/System.Private.CoreLib/src/System/Globalization/CompareInfo.cs
src/libraries/System.Private.CoreLib/src/System/Globalization/CultureData.cs
src/libraries/System.Private.CoreLib/src/System/Globalization/DateTimeFormat.cs

index b31e749..21fd721 100644 (file)
@@ -977,7 +977,7 @@ namespace System.Globalization
             if ((options & ValidIndexMaskOffFlags) != 0 && (options != CompareOptions.Ordinal && options != CompareOptions.OrdinalIgnoreCase))
                 throw new ArgumentException(SR.Argument_InvalidFlag, nameof(options));
 
-            return IndexOf(source, new string(value, 1), startIndex, count, options, null);
+            return IndexOf(source, char.ToString(value), startIndex, count, options, null);
         }
 
         public unsafe virtual int IndexOf(string source, string value, int startIndex, int count, CompareOptions options)
@@ -1268,7 +1268,7 @@ namespace System.Globalization
             }
 
             if (GlobalizationMode.Invariant)
-                return InvariantLastIndexOf(source, new string(value, 1), startIndex, count, (options & (CompareOptions.IgnoreCase | CompareOptions.OrdinalIgnoreCase)) != 0);
+                return InvariantLastIndexOf(source, char.ToString(value), startIndex, count, (options & (CompareOptions.IgnoreCase | CompareOptions.OrdinalIgnoreCase)) != 0);
 
             return LastIndexOfCore(source, value.ToString(), startIndex, count, options);
         }
index 9d1cdf1..cdf37bf 100644 (file)
@@ -2359,7 +2359,7 @@ namespace System.Globalization
                 nfi.nativeDigits = new string[10];
                 for (int i = 0; i < nfi.nativeDigits.Length; i++)
                 {
-                    nfi.nativeDigits[i] = new string(digits[i], 1);
+                    nfi.nativeDigits[i] = char.ToString(digits[i]);
                 }
 
                 nfi.digitSubstitution = GetDigitSubstitution(_sRealName);
index f8066ec..ea73875 100644 (file)
@@ -1371,7 +1371,7 @@ namespace System
                 case 'O':
                 case 's':
                 case 'u':
-                    results = new string[] { Format(dateTime, new string(format, 1), dtfi) };
+                    results = new string[] { Format(dateTime, char.ToString(format), dtfi) };
                     break;
                 default:
                     throw new FormatException(SR.Format_InvalidString);