为了账号安全,请及时绑定邮箱和手机立即绑定

替换(或其他字符串修改)不起作用

替换(或其他字符串修改)不起作用

C#
沧海一幻觉 2019-07-05 16:10:39
替换(或其他字符串修改)不起作用对于下面的代码,我无法获得string.Replace工作:someTestString.Replace(someID.ToString(), sessionID);当我调试和检查参数时,它们有我期望的值-即someID.ToString()得到“1087163075”,而且sessionID有“108716308”和someTestString包含“1087163075”。我不知道为什么这不会改变someTestString完整样本:string someTestString =        "<a href='myfoldert/108716305-1.jpg' target='_blank'>108716305-1.jpg</a>"someTestString.Replace("108716305", "NewId42");结果someTestString)应该是:"<a href='myfoldert/NewId42-1.jpg' target='_blank'>NewId42-1.jpg</a>"但不会改变。字符串someTestString在命中我的代码后保持不变。
查看完整描述

3 回答

?
慕森王

TA贡献1777条经验 获得超3个赞

字符串是不可变的。结果string.Replace是一个具有已替换值的新字符串。

您可以存储产生新变量的结果:

var newString = someTestString.Replace(someID.ToString(), sessionID);

如果您只想观察“字符串更新”行为,则只需将其重新分配到原始变量:

someTestString = someTestString.Replace(someID.ToString(), sessionID);

请注意,这适用于所有其他string像这样的功能RemoveInsert,TRIM和子字符串变体-它们都返回新的字符串,因为原始字符串不能修改。


查看完整回答
反对 回复 2019-07-05
?
互换的青春

TA贡献1797条经验 获得超6个赞

someTestString = someTestString.Replace(someID.ToString(), sessionID);

那应该对你有用


查看完整回答
反对 回复 2019-07-05
  • 3 回答
  • 0 关注
  • 638 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信