如我的键值对如下:
var postData = new List<KeyValuePair<string, string>>(); postData.Add(new KeyValuePair<string, string>("a", "1")); postData.Add(new KeyValuePair<string, string>("b", "2")); postData.Add(new KeyValuePair<string, string>("c", "3"));
如何方便地转换为:
a=1&b=2&c=3
用LINQ实现:
string.Join("&", postData.Select(d => d.Key + "=" + d.Value));
你可以循环输出,拼接字符串
List<string> list = new List<string>(); foreach(var item in postData) { list.Add(string.Format("{0}={1}", item.Key, item.Value)); } string result = string.Join(list.ToArray(), "&");
当然,你也可以使用LINQ,代码会简单点。
是二楼的代码有点问题,当value中出现{或}时就会出错,稍微改一下不用string.Format就可以了