使用返回NameValueCollection的System.Web.HttpUtility类的static ParseQueryString方法。
Uri myUri = new Uri("http://www.example.com?param1=good¶m2=bad");
string param1 = HttpUtility.ParseQueryString(myUri.Query).Get("param1");
检查文档在http://msdn.microsoft.com/en-us/library/ms150046.aspx
http://www.voidcn.com/article/p-guaejfsr-bsh.html
字典拼接url参数
var paramers = new Dictionary<string, string>(); paramers.Add("PhoneNumbers", "13818354757"); paramers.Add("SignName", "李工"); paramers.Add("TemplateCode", "4215"); paramers.Add("TemplateParam", "party"); paramers.Add("AccessKeyId", "accessId"); var imutableMap = new Dictionary<string, string>(paramers); imutableMap.Add("SignatureMethod", "HMAC-SHA1"); imutableMap.Add("SignatureVersion", "1.0"); imutableMap.Add("SignatureNonce", Guid.NewGuid().ToString()); imutableMap.Add("Action", "TEST"); IDictionary<string, string> sortedDictionary = new SortedDictionary<string, string>(imutableMap, StringComparer.Ordinal); StringBuilder canonicalizedQueryString = new StringBuilder(); foreach (var p in sortedDictionary) { canonicalizedQueryString .Append("&") .Append(p.Key).Append("=") .Append(p.Value); } //AccessKeyId=accessId&Action=TEST&PhoneNumbers=13818354757&SignName=李工&SignatureMethod=HMAC-SHA1&SignatureNonce=1ba431e0-8328-46a6-a832-f5d711bff532&SignatureVersion=1.0&TemplateCode=4215&TemplateParam=party Console.WriteLine(canonicalizedQueryString.ToString().Substring(1));