如何更改字符串的第n个元素

nam*_*mco 5 c# string

我在c#中有一个代码,如下所示

string s = new string('~',25);
int ind = 5;
s[ind] = 'A';
Run Code Online (Sandbox Code Playgroud)

它给出了一个错误

属性或索引器'string.this [int]'无法分配给 - 它被读取

那么问题是什么,我该如何解决呢?

Jon*_*eet 11

字符串是不可变的 - 您无法更改现有字符串.

两种选择:

在这两种情况下,如果需要,您可以填充可变数据而无需构建新的字符串 - 这将涉及更多代码,但可能更有效.

或者,您可以根据另一个答案获取子字符串并将它们连接在一起......基本上有很多方法可以解决这个问题.哪一个适合取决于您的实际用例.