我正在编写一个小型WPF应用程序,它可以帮助我的公司更新客户项目。我有一个我必须执行的SQL文件列表。现在,这些脚本始终使用“USE [Insert_Database]”编写。我将脚本的全部内容读成字符串,但我的Replace方法似乎没有做任何事情。
string content = File.ReadAllText(file);
content.Replace("Insert_Database", Database.Name);
SqlScriptsList.Add(new SqlScriptModel {Name = Path.GetFileName(file), Path = file, ScriptContent = content});
我在浏览时也没找到任何东西。有人可以给我发链接或解释我做错了吗?
答案 0 :(得分:3)
String.Replace
会返回修改后的string
,因此应该是:
content = content.Replace(....);
此方法不会修改当前实例的值。 相反,它返回一个新字符串,其中出现所有oldValue 被newValue取代。
答案 1 :(得分:1)
您可以使用替换功能,如下面的字符串
str = str.Replace("oldstr","newstr");
如果在str中找到oldstr,那么它将被新的str
替换答案 2 :(得分:0)
调用replace时,您没有使用新值。
string content = File.ReadAllText(file);
content = content.Replace("Insert_Database", Database.Name);
SqlScriptsList.Add(new SqlScriptModel {Name = Path.GetFileName(file), Path = file, ScriptContent = content});
供参考:用于替换https://msdn.microsoft.com/en-us/library/system.string.replace(v=vs.110).aspx
的MSDN文档