我如何按索引值为字符串设置新值?
我试过了:
string a = "abc";
a[0] = "A";
Run Code Online (Sandbox Code Playgroud)
不适用strings,但是是的chars.为什么?
Bil*_*eal 14
C#中的字符串(以及System.String在基类库中使用的其他.NET语言)是不可变的.也就是说,你不能用这种方式按字符修改字符串(或者就此而言,你可以修改字符串).
如果要根据索引修改字符串,则必须先使用它将其转换为数组System.String.ToCharArray().您使用System.String构造函数将其转换回字符串,传入已修改的数组.
您的示例必须更改为:
string a = "abc";
char[] array = a.ToCharArray();
array[0] = 'A'; //Note single quotes, not double quotes
a = new string(array);
Run Code Online (Sandbox Code Playgroud)
该System.String类型不允许通过索引(或通过任何方式)来改变String变量的内容,必须用对全新的引用来替换它String.The System.Text.StringBuilder但是,type允许按索引编写.可以创建一个新System.Text.StringBuilder对象(可选地将字符串传递给构造函数),对其进行操作,然后使用其ToString方法将其转换回字符串.
| 归档时间: |
|
| 查看次数: |
180 次 |
| 最近记录: |