C# 参数按照ASCII码从小到大排序(字典序)

时间:2021-11-02 07:05:17

在对接第三方支付的时候,第三方会要求参数按照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