StreamWriter myfile = new StreamWriter(@"d:/into.txt");
string MyStringFile = @"
| Domain: domainName12
| UserName: paswordchange
| PassWord: abc12";
Dictionary<string, string> myv = new Dictionary<string, string>();
myv.Add("abc12", "thi user");
myv.Add("paswordchange", "wer2345");
myv.Add("domainName12", "www.abc.com");
string MyStringFileNew = "";
foreach ( KeyValuePair<string, string> pair in myv)
{
MyStringFileNew = MyStringFile.Replace(pair.Key.ToString(), pair.Value.ToString()).ToString();
}
我正在尝试使用Dictionary
替换上面的一些内容,但唯一的最后一个键www.abc.com
已成功替换。
我正在使用C#
答案 0 :(得分:1)
您使用未更改的字符串替换值。
将您的代码更改为:
foreach ( KeyValuePair<string, string> pair in myv)
{
MyStringFile = MyStringFile.Replace(pair.Key.ToString(), pair.Value.ToString()).ToString();
}
MyStringFileNew = MyStringFile;
或者这样做是为了防止更改原始字符串:
MyStringFileNew = MyStringFile;
foreach ( KeyValuePair<string, string> pair in myv)
{
MyStringFileNew = MyStringFileNew.Replace(pair.Key.ToString(), pair.Value.ToString()).ToString();
}