diff --git a/src/System.Private.CoreLib/src/System/Reflection/RuntimeAssembly.cs b/src/System.Private.CoreLib/src/System/Reflection/RuntimeAssembly.cs index 45d73a65bfa4..3035117b9e53 100644 --- a/src/System.Private.CoreLib/src/System/Reflection/RuntimeAssembly.cs +++ b/src/System.Private.CoreLib/src/System/Reflection/RuntimeAssembly.cs @@ -207,8 +207,11 @@ public override Stream GetManifestResourceStream(Type type, string name) throw new ArgumentNullException(nameof(type)); string nameSpace = type?.Namespace; - string delimiter = (nameSpace != null && name != null) ? Type.Delimiter.ToString() : null; - string resourceName = string.Concat(nameSpace, delimiter, name); + + char c = Type.Delimiter; + string resourceName = nameSpace != null && name != null ? + string.Concat(nameSpace, new ReadOnlySpan(ref c, 1), name) : + string.Concat(nameSpace, name); return GetManifestResourceStream(resourceName); } diff --git a/src/System.Private.CoreLib/src/System/Resources/ManifestBasedResourceGroveler.cs b/src/System.Private.CoreLib/src/System/Resources/ManifestBasedResourceGroveler.cs index fe95bf1c8f68..42b601336a55 100644 --- a/src/System.Private.CoreLib/src/System/Resources/ManifestBasedResourceGroveler.cs +++ b/src/System.Private.CoreLib/src/System/Resources/ManifestBasedResourceGroveler.cs @@ -330,8 +330,11 @@ private Stream CaseInsensitiveManifestResourceStreamLookup(RuntimeAssembly satel Debug.Assert(name != null, "name shouldn't be null; check caller"); string nameSpace = _mediator.LocationInfo?.Namespace; - string delimiter = (nameSpace != null && name != null) ? Type.Delimiter.ToString() : null; - string resourceName = string.Concat(nameSpace, delimiter, name); + + char c = Type.Delimiter; + string resourceName = nameSpace != null && name != null ? + string.Concat(nameSpace, new ReadOnlySpan(ref c, 1), name) : + string.Concat(nameSpace, name); string canonicalName = null; foreach (string existingName in satellite.GetManifestResourceNames())