C#字符串替换,无法正常工作

JL.*_*JL. 2 c# string

我有一个字符串,我从中读到:

TextReader tr = new StreamReader(this.dataPath );
string contents = tr.ReadToEnd(); 
Run Code Online (Sandbox Code Playgroud)

内容的价值以:

"<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n....."
Run Code Online (Sandbox Code Playgroud)

当我尝试执行时

        string styleSheet = "<?xml-stylesheet type=\"text/xsl\" href=\"message.xsl\"?>";
        string xmlString = "<?xml version=\"1.0\" encoding=\"utf-8\"?>";
        TextReader tr = new StreamReader(this.dataPath );
        string contents = tr.ReadToEnd(); 
        contents.Replace(xmlString,xmlString + styleSheet );
Run Code Online (Sandbox Code Playgroud)

它绝对不会找到第一次出现的XmlString.有什么想法吗?

Arm*_*rat 27

尝试

contents = contents.Replace(xmlString,xmlString + styleSheet );
Run Code Online (Sandbox Code Playgroud)

这是因为String类是不可变的.


Phi*_*ert 5

Replace()方法返回一个新的字符串对象,因此您必须将代码更改为:

 content = contents.Replace(xmlString,xmlString + styleSheet );
Run Code Online (Sandbox Code Playgroud)