如何使用Dictionary中的其他键和值替换内容

时间:2014-12-07 18:58:09

标签: c# dictionary replace

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#

1 个答案:

答案 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();
}