string.Replace(或其他string修改)不起作用

对于下面的代码,我无法获取string。replace工作:

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

当我debugging和检查someID.ToString它有“108716307”和sessionID有“108716308”

不知道为什么这不会工作,如果someTestString是以下内容:

 "The:<br>Photo: <b><a href='myfoldert/108716305-1.jpg' target='_blank'>108716305-1.jpg</a> (originalphoto.gif)</b><br>Background Color: <b>223324</b>" 

结果应该是这样的:

 "The:<br>Photo: <b><a href='myfoldert/108716305-1.jpg' target='_blank'>1087163085-1.jpg</a> (originalphoto.gif)</b><br>Background Color: <b>223324</b>" 

但它不会改变。 点击我的代码后,someTestString的string保持不变。

string是不可改变的。 string.Replace的结果是一个replace值的新string。 尝试这个:

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

这应该为你工作

string是不可变的,replace会返回一个新的string,所以你需要类似的东西

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

您可以通过使用达到预期的效果

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

正如womp所说,string是不可变的,这意味着它们的值不能在不改变整个对象的情况下改变。