Доступ для записи значения в определённом индексе в string.
string a = "abc";
a[0] = 'z'; // Ошибка! ... доступ только для чтения.
Вопрос: можно ли сделать доступ для записи в данном случае?
Источник: Stack Overflow на русском
string a = "abc";
a[0] = 'z'; // Ошибка! ... доступ только для чтения.
Вопрос: можно ли сделать доступ для записи в данном случае?
Строки в C# неизменяемы, так что напрямую изменить строку нельзя. При любой операции со строкой создаётся новый объект. Вы можете конвертировать строку в массив char
'ов, произвести замену, затем из массива снова собрать строку:
string str = "qwerty";
char[] chars = str.ToCharArray();
chars[3] = 'A';
str = new string(chars);
Ещё вы можете использовать класс StringBuilder
. В нём переопределён оператор индексации ([]
):
string str = "qwerty";
StringBuilder sb = new StringBuilder(str);
sb[3] = 'A';
str = sb.ToString();
Нет.
Пользуйтесь функциями substr, например.