Строки неизменны.Вы не можете изменять их символ за символом.
Если вам нужен произвольный доступ к символам в строке, сначала преобразуйте его в массив символов (используя ToCharArray
), а затем преобразуйте его обратно, когда выГотово (String
имеет конструктор, который принимает массив символов).
string a = "1234";
char[] b = a.ToCharArray();
b[1] = 'X';
a = new string(b);
Console.WriteLine("{0}", a);
Вывод:
1X34
Есть намного более простые способы обратить строку (например, LINQ позволит вамdo var output = new string(input.Reverse().ToArray());
), но если вы хотите использовать цикл for и ваш текущий подход, это, вероятно, та часть информации, которую вам не хватает.