Строки являются неизменяемыми, то есть вы не можете изменить символ. Вместо этого вы создаете новые строки.
То, что вы просите, можно сделать несколькими способами. Наиболее подходящее решение будет зависеть от характера изменений, которые вы вносите в исходную строку. Вы меняете только одного персонажа? Вам нужно вставить / удалить / добавить?
Вот несколько способов создать новую строку из существующей строки, но с другим первым символом:
str = 'M' + str.Remove(0, 1);
str = 'M' + str.Substring(1);
Выше новая строка назначена исходной переменной, str
.
Я хотел бы добавить, что ответы других, демонстрирующие StringBuilder
, также очень уместны. Я бы не стал создавать экземпляр StringBuilder
для изменения одного символа, но если нужно много изменений, StringBuilder
- лучшее решение, чем мои примеры, которые создают временную новую строку в процессе. StringBuilder
предоставляет изменяемый объект, который допускает множество изменений и / или операций добавления. Как только вы закончите вносить изменения, из StringBuilder
создается метод .ToString()
. Вы можете продолжить вносить изменения в объект StringBuilder
и, при необходимости, создавать новые строки, используя .ToString()
.