如何改变字符串中一个字符

pam 2008-11-18 12:51:38
在c#里,改变字符串中的字符只能给这个字符串重新赋值吗?

比如说字符串s,内容是"11111",我要把第二位替换为0。

我用s[1]可以得到这个字符,但是这个是只读的,有办法只改一个字符吗?
...全文
191 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
CruelYoung123 2008-11-18
  • 打赏
  • 举报
回复
s.replace(' ')....直接替换不可以吗?
pam 2008-11-18
  • 打赏
  • 举报
回复
我试过了,StringBuilder 不错,呵呵,结贴
huwei001982 2008-11-18
  • 打赏
  • 举报
回复
看到思归大侠了, 呵呵!


这个问题很基础啊, 随便翻翻书就找得到
pam 2008-11-18
  • 打赏
  • 举报
回复
replace不行吧,比如上面的例子,把所有的内容都替换了,而且要事先知道被替换的值
ErnestChen2go 2008-11-18
  • 打赏
  • 举报
回复
有数组遍历然后换掉呢!
jietuan 2008-11-18
  • 打赏
  • 举报
回复
string 对象里面提供了很多方法;你可以使用replace 或者substring
止戈而立 2008-11-18
  • 打赏
  • 举报
回复
改一位两位的还好说,如果是要频繁改的话,2楼3楼老大已经说了。。
string要修改是要重新赋值的。。
例如,你这个题目就可以这样:
string str="11111";
str=str.SubString(0,1)+"0"+str.SubString(2);
wuyi8808 2008-11-18
  • 打赏
  • 举报
回复
System.String 是不可变字符串。
System.Text.StringBuilder 是可变字符串。
saucer 2008-11-18
  • 打赏
  • 举报
回复
.NET中的String类是immutable的,用它的方法改变其内含字符串都会生成一个新实例

如果你需要在代码多次改动一个字符串,建议使用StringBuilder类,或者建立一个Char数组,自己维护其改动

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧