Здравствуйте, netch80, Вы писали:
N>Делайте новый, а если эта операция частая, то массив или StringBuilder.
С какой-то версии core появился метод
string.Create, где можно обойтись одной алокацией и копированием.
public static string ReplaceAt(this string source, int index, char replaceChar)
{
string result = string.Create(source.Length, source.AsSpan(), (Span<char> strContent, ReadOnlySpan<char> srcArray) =>
{
srcArray.CopyTo(strContent);
strContent[index] = replaceChar;
});
return result;
}
https://dotnetfiddle.net/JPNBC6