Use span-based string.Concat to avoid unnecessary allocation

Calling Substring produces a copy of the extracted substring. By using AsSpan instead of Substring and calling the overload of string.Concat that accepts spans, you can eliminate the unnecessary string allocation.

(cherry picked from commit e8aff90582fb50b2d48dea3a4c2139c2745f1554)

Fixes #2262
This commit is contained in:
Qstick 2023-01-09 22:18:14 -06:00 committed by Bogdan
parent 0572bde41e
commit 6827ac5670

View file

@ -170,7 +170,7 @@ private static string CombineRelativePath(string basePath, string relativePath)
if (baseSlashIndex >= 0)
{
return basePath.Substring(0, baseSlashIndex) + "/" + relativePath;
return $"{basePath.AsSpan(0, baseSlashIndex)}/{relativePath}";
}
return relativePath;