替换列表中的字符串不起作用

本文关键字:字符串 不起作用 列表 替换 | 更新日期: 2023-09-27 18:30:46

我一辈子都无法理解为什么当我尝试替换字符串类型列表中的元素文本时,Replace();方法不起作用。这个问题在某种程度上与我以前的一个线程有关[在这里找到:合并两个文件并处理重复的条目(查看它也是一个好主意,以及完整的代码)],但归根结底,这一切都归结为这样一个事实,即该命令不起作用, 我的代码实际上是正确的(!

我会给你一个例子,说明在我的情况下什么不起作用。在最基本的形式中,例如,这就是我想要完成的,但它不起作用(真的!

[在我的原始代码中,我已经三重检查(使用断点和所有内容)我的列表确实包含我要替换的字符串(我正在替换元素本身!),但它就是不行!现在说真的,它目前是一个 4 元素列表(虽然可以添加更多元素,请参阅其他线程)。

最后一件事,对标点符号感到抱歉(我知道感叹号太多了),但我实际上对此感到愤怒。下面的代码(记住,最基本的形式,但我尝试过一个例子):

// List[index].Replace(oldValue, newValue);
newFile[3].Replace(newFile[3], "Replace it with this!");

你能帮我这个吗?

替换列表中的字符串不起作用

newFile[3] = newFile[3].Replace(newFile[3], "Replace it with this!");

在 c# 中,字符串是不可变的。因此,替换方法返回一个新字符串。

编辑:字符串不可变的主要原因是使它们是线程安全的。如果您想了解更多信息,请阅读:为什么 .NET 字符串是不可变的?

newFile[3] = newFile[3].Replace(newFile[3], "Replace it with this!");