在对接第三方支付的时候,第三方会要求参数按照ASCII码从小到大排序。如下:

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);
} 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(, str.ToString().Length - );
return result;
}

C# 参数按照ASCII码从小到大排序(字典序)的更多相关文章

  1. c# 参数名ascii码从小到大排序(字典序)拼接

    代码如下: /// <summary> /// c# 参数名ascii码从小到大排序(字典序)拼接 /// </summary> /// <param name=&quo ...

  2. .Net将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(字典序),并使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串stringA

    前言: 前段时间因为项目进度比较繁重所以一直都没有时间更新博客,内心深深的负重感,没有履行年初立下的flag.不过这个月会把上个月没有完成的任务补上来,咱们可不是喜欢拖欠任务的攻城狮.哈哈,废话不多说 ...

  3. 微信支付签名算法JavaScript版,参数名ASCII码从小到大排序;0,A,B,a,b;

    // 支付md5加密获取sign paysignjs: function (jsonobj) { var signstr = this.obj2str(jsonobj) signstr = signs ...

  4. 参数名ASCII码从小到大排序(字典序)

    /// <summary> /// Hashtable字典排序 /// </summary> /// <param name="parameters" ...

  5. java map里面进行ASCII 码从小到大排序(字典序)

    public static String getAsciiSort(Map<String, Object> map) { List<Entry<String, Object&g ...

  6. 待签名参数按照字段名的ascii码从小到大排序

    public static String getSign(Map<String, String> params) { Map<String, String> sortMap = ...

  7. 参数签名ascii码排序的坑

    参数签名中通常是按键值对中键名称的ASCII按从小到大的顺序排序后进行hash为签名字符串.不要直接使用 SortedDictionary<string, string> 有坑的,他是按数 ...

  8. 输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符。

    #include <stdio.h>#include <stdlib.h>int main(int argc, char *argv[]) { int a,b,i,j=0,t; ...

  9. ACM--输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符。

    代码如下: #include <stdio.h> main() { char a,b,c,d; int i; scanf("%d",&i); getchar() ...

随机推荐

  1. 获取GET/POST提交的数据,并处理中文问题

    1.获取input标签中的值,用request.getParameter("User")(User为input的name值) 2. 获取checkbox的值,由于是多选的,所以不能 ...

  2. cas+tomcat+shiro实现单点登录-1-tomcat添加https协议

    目录 1.tomcat添加https安全协议 2.下载cas server端部署到tomcat上 3.CAS服务器深入配置(连接MYSQL) 4.Apache Shiro 集成Cas作为cas cli ...

  3. Slony-I双机备份

    测试环境:postgresql 9.3.5,slony-I2.2.3(application stack builder提供)以下参考网上教程亲自测试总结 ---------------------- ...

  4. C++ list用法

    创建一个list实例并赋值: // 创建实例以及赋值 #include <iostream> #include <list> using namespace std; int ...

  5. Mysql 索引的基础(上)

    要理解Mysql 中索引是如何工作的,最简单的方法是去看一看书的"索引部分":如果想在一本书中找到某个特定的主题,一般先看书的"索引",找到对应的页码. 在My ...

  6. Oracle字符串分割函数

    今天在创建视图的时候,碰到一个问题,问题如下: 将字符格式为“XXX,YYY”分割出来,并且分割后作为两个字段放入视图中. 考虑使用字符分割函数,但是查找资料Oracle没有字符分割的函数(我对Ora ...

  7. VC中如何获取当前时间(精度达到毫秒级)

    标 题: VC中如何获取当前时间(精度达到毫秒级)作 者: 0xFFFFCCCC时 间: 2013-06-24链 接: http://www.cnblogs.com/Y4ng/p/Millisecon ...

  8. Adt 配置注释模板

    点击Window->Preferences->Java->Code Style->Code Templates,如下图所示: 选中,点击右侧的Edit进行编辑.

  9. 使用 ExpandableListView 实现折叠ListView

    1:layout/expandablelistview_groups.xml 标题文件 <?xml version="1.0" encoding="utf-8&qu ...

  10. 枚举类:用enum关键字来定义一个枚举类

    1)枚举类的两种定义方法 1>通过构造器 public enum Grade{ A("A", "90-100"),B("B",&quo ...