我想做这个:
string s = "abc";
s[1] = 'x';
Run Code Online (Sandbox Code Playgroud)
s将成为"axc".但是,似乎string [i]只有一个getter并且没有setter.编译器给我以下错误:
"属性或索引器'string.this [int]'无法分配给 - 它是只读的"
我想我可以制作一个循环并改变我想要的字符.但我只是想知道是否有一个简单的方法来做到这一点?为什么没有字符串[i]的setter?
提前致谢.
Cal*_*ers 18
字符串是不可变的,因此您必须创建一个char[]数组,更改它,然后将其重新转换为字符串:
string s = "foo";
char[] arr = s.ToCharArray();
arr[1] = 'x';
s = new string(arr);
Run Code Online (Sandbox Code Playgroud)
JLW*_*low 13
字符串是不可变的,这就是没有setter的原因,但是你可以使用字符串构建器:
StringBuilder s = new StringBuilder("abc");
s[1] = 'x';
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5280 次 |
| 最近记录: |