gpt4 book ai didi

c# - string.Replace(或其他字符串修改)不起作用

转载 作者:可可西里 更新时间:2023-11-01 08:14:06 28 4
gpt4 key购买 nike

对于下面的代码,我无法让 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 的字符串在点击我的代码后保持不变。

最佳答案

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

您可以将结果存储在新变量中:

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

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

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

请注意,这适用于所有其他 string 函数,如 RemoveInsert、trim 和 substring 变体 - 所有这些都返回新字符串作为无法修改原始字符串。

关于c# - string.Replace(或其他字符串修改)不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1948978/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com