我有以下代码:
StringBuilder sb = new StringBuilder();
sb.Append......
var TheJs = sb.ToString();
TheJs.Replace("'use strict';", "");
基本上,文本输出中仍然包含字符串'use strict';
,我想知道为什么?
感谢。
答案 0 :(得分:3)
String.Replace
方法返回一个新字符串,它不会更改原始字符串。
返回一个新字符串,其中所有出现的指定Unicode 当前字符串中的字符或字符串将替换为另一个字符串 指定的Unicode字符或字符串。
你应该使用;
TheJs = TheJs.Replace("'use strict';", "");
字符串 immutable types 。这意味着你不能改变它们,即使你认为你改变了它们,你实际上也会创建一个新的字符串对象。
答案 1 :(得分:0)
您只是替换它,而不是分配新值
TheJs = TheJs.Replace("'use strict';", "");
String.Replace
方法返回一个新字符串,它不会更改原始字符串。