Dim*_*dis 0 c# string replace list str-replace
在我的生活中,我不能理解为什么Replace();当我尝试替换String类型列表中的元素文本时该方法不起作用.这个问题在某种程度上与我之前的一个帖子有关[在这里找到:合并两个文件并处理重复的条目(对于完整的代码,查看它也是一个好主意)],但最后当天,这一切归结为命令不起作用,而我的代码实际上是正确的(!).
我会举例说明在我的情况下什么不起作用.在最基本的形式中,为了举例,这是我想要完成但它不起作用(真实!):
[在我的原始代码中,我已经三次检查(使用断点和所有内容)我的列表确实包含我要替换的字符串(我正在替换元素本身!),但它不会这样做!严肃地说,现在它是一个4元素列表(尽管可以添加更多元素,参考其他线程).
最后一件事,对标点符号感到遗憾(我知道的感叹号太多了),但我实际上对此持续不满.下面的代码(记住,最基本的形式,但我试过的一个例子):
// List[index].Replace(oldValue, newValue);
newFile[3].Replace(newFile[3], "Replace it with this!");
Run Code Online (Sandbox Code Playgroud)
你能帮帮我吗?
dca*_*tro 10
newFile[3] = newFile[3].Replace(newFile[3], "Replace it with this!");
Run Code Online (Sandbox Code Playgroud)
在c#中,字符串是不可变的.因此,Replace方法返回一个新字符串.
编辑:字符串不可变的主要原因是使它们成为线程安全的.如果您想了解更多信息,请阅读:为什么.NET String是不可变的?