-1

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

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

基本上我解析文档并将其写入这样的文件:

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

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

4

2 回答 2

4

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

string parsedDocument = Document.Replace("{{tag}}", ParseMarkup(Tag.Text));
return parsedDocument;
于 2012-11-16T08:28:25.343 回答
4

Replace不能就地工作,但它是一个返回已更改字符串的函数

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

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

于 2012-11-16T08:29:33.150 回答