Avoid box allocation in Encoding.EncodingName (dotnet/coreclr#6142)
authorJustin Van Patten <jvp@justinvp.com>
Thu, 7 Jul 2016 21:18:47 +0000 (14:18 -0700)
committerJan Kotas <jkotas@microsoft.com>
Thu, 7 Jul 2016 21:18:47 +0000 (23:18 +0200)
`Encoding.EncodingName` concatenates a `string` with an `int` via
`string.Concat(object, object)`, which results in the `int` being
boxed.

This change avoids the box by calling `int.ToString()`,
allowing `string.Concat(string, string)` to be used.

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

src/coreclr/src/mscorlib/src/System/Text/Encoding.cs

index 5a0ce14..3d38d14 100644 (file)
@@ -722,7 +722,7 @@ namespace System.Text
         {
             get
             {
-                return (Environment.GetResourceString("Globalization.cp_" + m_codePage));
+                return Environment.GetResourceString("Globalization.cp_" + m_codePage.ToString());
             }
         }