Re[2]: У string нет ReplaceAt(int, char)
От: pilgrim_ Россия  
Дата: 28.03.25 13:34
Оценка: 97 (4)
Здравствуйте, 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
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.