替换方法不替换文本

时间:2014-03-01 15:55:10

标签: c#

我有以下代码:

StringBuilder sb = new StringBuilder();   
sb.Append......   
var TheJs = sb.ToString();  
TheJs.Replace("'use strict';", "");

基本上,文本输出中仍然包含字符串'use strict';,我想知道为什么?

感谢。

2 个答案:

答案 0 :(得分:3)

String.Replace方法返回一个新字符串,它不会更改原始字符串。

  

返回一个新字符串,其中所有出现的指定Unicode   当前字符串中的字符或字符串将替换为另一个字符串   指定的Unicode字符或字符串。

你应该使用;

TheJs = TheJs.Replace("'use strict';", "");

字符串 immutable types 。这意味着你不能改变它们,即使你认为你改变了它们,你实际上也会创建一个新的字符串对象。

答案 1 :(得分:0)

您只是替换它,而不是分配新值

TheJs = TheJs.Replace("'use strict';", "");

String.Replace方法返回一个新字符串,它不会更改原始字符串。