在对接第三方支付的时候,第三方会要求参数按照ASCII码从小到大排序。如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
public static void requestPay() { Dictionary< string , string > dics = new Dictionary< string , string >(); dics.Add( "amount" , amount); dics.Add( "callback_url" , callback_url); dics.Add( "goodsname" , goodsname); dics.Add( "merchno" , merchno); dics.Add( "notify_url" , notify_url); dics.Add( "ordno" , ordno); dics.Add( "organno" , organno); dics.Add( "version" , version); dics.Add( "paytype" , paytype); getParamSrc(dics); } |
1
2
3
4
5
6
7
8
9
10
11
12
13
|
public static String getParamSrc(Dictionary< string , string > paramsMap) { var vDic = (from objDic in paramsMap orderby objDic.Key ascending select objDic); StringBuilder str = new StringBuilder(); foreach (KeyValuePair< string , string > kv in vDic) { string pkey = kv.Key; string pvalue = kv.Value; str.Append(pkey + "=" + pvalue + "&" ); } String result = str.ToString().Substring(0, str.ToString().Length - 1); return result; } |
以上所述是小编给大家介绍的C# 参数按照ASCII码从小到大排序(字典序),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
原文链接:http://www.cnblogs.com/mrzhoushare/p/6068708.html