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.
This commit is contained in:
parent
af28bbad52
commit
e8aff90582
|
@ -194,7 +194,6 @@ dotnet_diagnostic.CA1819.severity = suggestion
|
||||||
dotnet_diagnostic.CA1822.severity = suggestion
|
dotnet_diagnostic.CA1822.severity = suggestion
|
||||||
dotnet_diagnostic.CA1823.severity = suggestion
|
dotnet_diagnostic.CA1823.severity = suggestion
|
||||||
dotnet_diagnostic.CA1824.severity = suggestion
|
dotnet_diagnostic.CA1824.severity = suggestion
|
||||||
dotnet_diagnostic.CA1845.severity = suggestion
|
|
||||||
dotnet_diagnostic.CA1846.severity = suggestion
|
dotnet_diagnostic.CA1846.severity = suggestion
|
||||||
dotnet_diagnostic.CA1847.severity = suggestion
|
dotnet_diagnostic.CA1847.severity = suggestion
|
||||||
dotnet_diagnostic.CA2000.severity = suggestion
|
dotnet_diagnostic.CA2000.severity = suggestion
|
||||||
|
|
|
@ -170,7 +170,7 @@ namespace NzbDrone.Common.Http
|
||||||
|
|
||||||
if (baseSlashIndex >= 0)
|
if (baseSlashIndex >= 0)
|
||||||
{
|
{
|
||||||
return basePath.Substring(0, baseSlashIndex) + "/" + relativePath;
|
return $"{basePath.AsSpan(0, baseSlashIndex)}/{relativePath}";
|
||||||
}
|
}
|
||||||
|
|
||||||
return relativePath;
|
return relativePath;
|
||||||
|
|
|
@ -69,7 +69,7 @@ namespace NzbDrone.Core.Notifications.Discord
|
||||||
case DiscordGrabFieldType.Overview:
|
case DiscordGrabFieldType.Overview:
|
||||||
var overview = episodes.First().Overview ?? "";
|
var overview = episodes.First().Overview ?? "";
|
||||||
discordField.Name = "Overview";
|
discordField.Name = "Overview";
|
||||||
discordField.Value = overview.Length <= 300 ? overview : overview.Substring(0, 300) + "...";
|
discordField.Value = overview.Length <= 300 ? overview : $"{overview.AsSpan(0, 300)}...";
|
||||||
break;
|
break;
|
||||||
case DiscordGrabFieldType.Rating:
|
case DiscordGrabFieldType.Rating:
|
||||||
discordField.Name = "Rating";
|
discordField.Name = "Rating";
|
||||||
|
@ -160,7 +160,7 @@ namespace NzbDrone.Core.Notifications.Discord
|
||||||
case DiscordImportFieldType.Overview:
|
case DiscordImportFieldType.Overview:
|
||||||
var overview = episodes.First().Overview ?? "";
|
var overview = episodes.First().Overview ?? "";
|
||||||
discordField.Name = "Overview";
|
discordField.Name = "Overview";
|
||||||
discordField.Value = overview.Length <= 300 ? overview : overview.Substring(0, 300) + "...";
|
discordField.Value = overview.Length <= 300 ? overview : $"{overview.AsSpan(0, 300)}...";
|
||||||
break;
|
break;
|
||||||
case DiscordImportFieldType.Rating:
|
case DiscordImportFieldType.Rating:
|
||||||
discordField.Name = "Rating";
|
discordField.Name = "Rating";
|
||||||
|
|
|
@ -545,7 +545,7 @@ namespace NzbDrone.Core.Parser
|
||||||
var titleWithoutExtension = RemoveFileExtension(title).ToCharArray();
|
var titleWithoutExtension = RemoveFileExtension(title).ToCharArray();
|
||||||
Array.Reverse(titleWithoutExtension);
|
Array.Reverse(titleWithoutExtension);
|
||||||
|
|
||||||
title = new string(titleWithoutExtension) + title.Substring(titleWithoutExtension.Length);
|
title = string.Concat(new string(titleWithoutExtension), title.AsSpan(titleWithoutExtension.Length));
|
||||||
|
|
||||||
Logger.Debug("Reversed name detected. Converted to '{0}'", title);
|
Logger.Debug("Reversed name detected. Converted to '{0}'", title);
|
||||||
}
|
}
|
||||||
|
@ -576,7 +576,7 @@ namespace NzbDrone.Core.Parser
|
||||||
var titleWithoutExtension = RemoveFileExtension(title).ToCharArray();
|
var titleWithoutExtension = RemoveFileExtension(title).ToCharArray();
|
||||||
Array.Reverse(titleWithoutExtension);
|
Array.Reverse(titleWithoutExtension);
|
||||||
|
|
||||||
title = new string(titleWithoutExtension) + title.Substring(titleWithoutExtension.Length);
|
title = string.Concat(new string(titleWithoutExtension), title.AsSpan(titleWithoutExtension.Length));
|
||||||
|
|
||||||
Logger.Debug("Reversed name detected. Converted to '{0}'", title);
|
Logger.Debug("Reversed name detected. Converted to '{0}'", title);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue