字符串替换不能正常工作

时间:2012-11-16 08:27:04

标签: c# string

这是我的方法,它应该返回一个已解析的文档。

public string GetParsedDocument(string Document)
{
   Document.Replace("{{tag}}", ParseMarkup(Tag.Text));
   return Document
}

基本上我解析文档并将其写入如下文件:

System.IO.File.WriteAllText(SaveDialog.FileName, GetParsedDocument(TestProgram.Properties.Resources.Document));

然而,当我打开文件时,没有我的更改。这是怎么回事?我已经尝试逐字编写字符串,并且我已经测试过它是否是其他任何无效的组件;但事实并非如此。字符串替换不起作用。或者它没有正确返回。有什么想法吗?

2 个答案:

答案 0 :(得分:4)

字符串是不可变的,因此它的所有方法都会返回新字符串。你应该这样:

string parsedDocument = Document.Replace("{{tag}}", ParseMarkup(Tag.Text));
return parsedDocument;

答案 1 :(得分:4)

Replace无效,但是是一个返回已更改字符串的函数

return Document.Replace("{{tag}}", ParseMarkup(Tag.Text));

现在您将获得更改后的版本。