社区
C#
帖子详情
sorteddictionary是根据什么排序的?
lichsoj
2018-01-30 11:29:26
如图给sorteddic添加了两组值
结果发现
本以为是按照key的ascii码排序,但是小写a的ascii是97,大写N是78,不应该是SignName键排在前面吗
另外:如何通过ascii排序保存字典?
...全文
795
4
打赏
收藏
sorteddictionary是根据什么排序的?
如图给sorteddic添加了两组值 结果发现 本以为是按照key的ascii码排序,但是小写a的ascii是97,大写N是78,不应该是SignName键排在前面吗 另外:如何通过ascii排序保存字典?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
kakaeex
2018-12-11
打赏
举报
回复
引用 3 楼 lichsoj 的回复:
解决了
这样即可
对的,谢谢
xuzuning
2018-01-30
打赏
举报
回复
按字母表排序,小写在前,大写在后
娃都会打酱油了
2018-01-30
打赏
举报
回复
这是string的排序,string排序你查下就知道了,默认好像是按语言特性排序,反正这东西我也不知道是个什么鬼,排出来的东西感觉和我们正常语言排序不一样 你可以传递IComparer<TKey> comparer实现进去
lichsoj
2018-01-30
打赏
举报
回复
解决了
这样即可
C#
Dictionary
和
Sort
ed
Dictionary
的简介
1、
Sort
ed
Dictionary
泛型类
Sort
ed
Dictionary
泛型类是检索运算复杂度为 O(log n) 的二叉搜索树,其中 n 是字典中的元素数。就这一点而言,它与
Sort
ed
List 泛型类相似。这两个类具有相似的对象模型,并且都具有 O(log n) 的检索运算复杂度。这两个类的区别在于内存的使用以及插入和移除元素的速度:
Sort
ed
List 使用的内存比
Sort
ed
Dictionary
少。
Sort
ed
Dictionary
可对未
排序
的数据执行更快的插入和移除操作:它的时间复杂度为 O(log n),而
Sort
ed
List 为 O(n)。 如果使用
c#支付宝标准双接口实现
trade_create_by_buyer-CSHARP-UTF-8 │ ├app_code ┈┈┈┈┈┈┈┈┈┈类文件夹 │ │ │ ├AlipayConfig.cs┈┈┈┈┈基础配置类文件 │ │ │ ├AlipayCore.cs┈┈┈┈┈┈支付宝接口公用函数类文件 │ │ │ ├AlipayNotify.cs┈┈┈┈┈支付宝通知处理类文件 │ │ │ ├AlipaySubmit.cs┈┈┈┈┈支付宝各接口请求提交类文件 │ │ │ └MD5.cs ┈┈┈┈┈┈┈┈┈MD5类库 │ ├log┈┈┈┈┈┈┈┈┈┈┈┈┈日志文件夹 │ ├default.aspx ┈┈┈┈┈┈┈┈支付宝接口入口文件 ├default.aspx.cs┈┈┈┈┈┈┈支付宝接口入口文件 │ ├notify_url.aspx┈┈┈┈┈┈┈服务器异步通知页面文件 ├notify_url.aspx.cs ┈┈┈┈┈服务器异步通知页面文件 │ ├return_url.aspx┈┈┈┈┈┈┈页面跳转同步通知文件 ├return_url.aspx.cs ┈┈┈┈┈页面跳转同步通知文件 │ ├Web.Config ┈┈┈┈┈┈┈┈┈配置文件(集成时删除) │ └readme.txt ┈┈┈┈┈┈┈┈┈使用说明文本 ※注意※ 需要配置的文件是: alipay_config.cs default.aspx default.aspx.csreturn_url.aspx return_url.aspx.cs notify_url.aspx notify_url.aspx.cs统一命名空间为:namespace Com.Alipiay ───────── 类文件函数结构 ───────── AlipayCore.cs public static
Dictionary
ParaFilter(
Sort
ed
Dictionary
dicArrayPre) 功能:除去数组中的空值和签名参数并以字母a到z的顺序
排序
输入:
Sort
ed
Dictionary
dicArrayPre 过滤前的参数组 输出:
Dictionary
去掉空值与签名参数后的新签名参数组 public static string CreateLinkString(
Dictionary
dicArray) 功能:把数组所有元素,按照“参数=参数值”的模式用“&”字符拼接成字符串 输入:
Dictionary
dicArray 需要拼接的数组 输出:string 拼接完成以后的字符串 public static string CreateLinkStringUrlencode(
Dictionary
dicArray, Encoding code) 功能:把数组所有元素,按照“参数=参数值”的模式用“&”字符拼接成字符串,并对参数值做urlencode 输入:
Dictionary
dicArray 需要拼接的数组 Encoding code 字符编码 输出:string 拼接完成以后的字符串 public static void log_result(string sPath, string sWord) 功能:写日志,方便测试(看网站需求,也可以改成存入数据库) 输入:string sPath 日志的本地绝对路径 string sWord 要写入日志里的文本内容 public static string GetAbstractToMD5(Stream sFile) 功能:获取文件的md5摘要 输入:Stream sFile 文件流 输出:string MD5摘要结果 public static string GetAbstractToMD5(byte[] dataFile) 功能:获取文件的md5摘要 输入:byte[] dataFile 文件流 输出:string MD5摘要结果 ┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉ MD5.cs public static string Sign(string prestr, string key, string _input_charset) 功能:签名字符串 输入:string prestr 需要签名的字符串 string key 密钥 string _input_charset 编码格式 输出:string 签名结果 public static bool Verify(string prestr, string sign, string key, string _input_charset) 功能:验证签名 输入:string prestr 需要签名的字符串 string sign 签名结果 string key 密钥 string _input_charset 编码格式 输出:string 验证结果 ┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉ AlipayNotify.cs public Notify() 功能:构造函数 从配置文件中初始化变量 public bool Verify(
Sort
ed
Dictionary
inputPara, string notify_id, string sign) 功能:验证消息是否是支付宝发出的合法消息 输入:
Sort
ed
Dictionary
inputPara 通知返回参数数组 string notify_id 通知验证ID string sign 支付宝生成的签名结果 输出:bool 验证结果 private string GetPreSignStr(
Sort
ed
Dictionary
inputPara) 功能:获取待签名字符串(调试用) 输入:
Sort
ed
Dictionary
inputPara 通知返回参数数组 输出:string 待签名字符串 private bool GetSignVeryfy(
Sort
ed
Dictionary
inputPara, string sign) 功能:获取返回回来的待签名数组签名后结果 输入:
Sort
ed
Dictionary
inputPara 通知返回参数数组 string sign 支付宝生成的签名结果 输出:bool 签名验证结果 private string GetResponseTxt(string notify_id) 功能:获取是否是支付宝服务器发来的请求的验证结果 输入:string notify_id 通知验证ID 输出:string 验证结果 private string Get_Http(string strUrl, int timeout) 功能:获取远程服务器ATN结果 输入:string strUrl 指定URL路径地址 int timeout 超时时间设置 输出:string 服务器ATN结果字符串 ┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉┉ AlipaySubmit.cs private static string BuildRequestMysign(
Dictionary
sPara) 功能:生成签名结果 输入:
Dictionary
sPara 要签名的数组 输出:string 签名结果字符串 private static
Dictionary
BuildRequestPara(
Sort
ed
Dictionary
sParaTemp) 功能:生成要请求给支付宝的参数数组 输入:
Sort
ed
Dictionary
sParaTemp 请求前的参数数组 输出:
Dictionary
要请求的参数数组 private static string BuildRequestParaToString(
Sort
ed
Dictionary
sParaTemp, Encoding code) 功能:生成要请求给支付宝的参数数组 输入:
Sort
ed
Dictionary
sParaTemp 请求前的参数数组 Encoding code 字符编码 输出:string 要请求的参数数组字符串 public static string BuildRequest(
Sort
ed
Dictionary
sParaTemp, string strMethod, string strButtonValue) 功能:建立请求,以表单HTML形式构造(默认) 输入:
Sort
ed
Dictionary
sParaTemp 请求参数数组 string strMethod 提交方式。两个值可选:post、get string strButtonValue 确认按钮显示文字 输出:string 提交表单HTML文本 public static string BuildRequest(
Sort
ed
Dictionary
sParaTemp) 功能:建立请求,以模拟远程HTTP的POST请求方式构造并获取支付宝的处理结果 输入:
Sort
ed
Dictionary
sParaTemp 请求参数数组 输出:string 支付宝处理结果 public static string BuildRequest(
Sort
ed
Dictionary
sParaTemp, string strMethod, string fileName, byte[] data, string contentType, int lengthFile) 功能:建立请求,以模拟远程HTTP的POST请求方式构造并获取支付宝的处理结果 输入:
Sort
ed
Dictionary
sParaTemp 请求参数数组 string strMethod 提交方式。两个值可选:post、get string fileName 文件绝对路径 byte[] data 文件数据 string contentType 文件内容类型 int lengthFile 文件长度 输出:string 支付宝处理结果 public static string Query_timestamp() 功能:用于防钓鱼,调用接口query_timestamp来获取时间戳的处理函数 输出:string 时间戳字符串 ────────── 出现问题,求助方法 ────────── 如果在集成支付宝接口时,有疑问或出现问题,可使用下面的链接,提交申请。 https://b.alipay.com/support/helperApply.htm?action=supportHome 我们会有专门的技术支持人员为您处理
SubHubT:进行中的单线程EventAggregatorEventBroker C#解决方案
SubHubT 尚未准备就绪的在制品单线程EventAggregator / EventBroker C#解决方案 去做 集中订阅和消息 触发期间订阅/取消订阅 确定性处理 覆盖测试 说明自述文件 递归触发 确定性处理 覆盖测试 说明自述文件 重新
排序
Sort
ed
Dictionary
时,匹配优先级订阅的测试顺序。 也许引入Subscrition.creationIndex以获得其他
排序
值 改善API IoC初始化树 特征 全局和过滤订阅 全局在所有匹配类型的消息上触发 仅在匹配类型和匹配过滤对象的消息上触发过滤 订阅优先级使用
Sort
ed
Dictionary
表现 取消订阅对象句柄允许从队列中间退订 例子 public class Example { private void SubPublishUnsub () { var sub1 = SubHub . I . Sub
SubHub:正在进行的单线程EventAggregatorEventBroker C#解决方案
子集线器 尚未准备就绪的在制品单线程EventAggregator / EventBroker C#解决方案 去做 集中订阅和消息 触发期间订阅/取消订阅 确定性处理 覆盖测试 说明自述文件 递归触发 确定性处理 覆盖测试 说明自述文件 重新
排序
Sort
ed
Dictionary
时,匹配优先级订阅的测试顺序。 也许引入Subscrition.creationIndex以获得其他
排序
值 改善API IoC初始化树 特征 全局和过滤订阅 全局在所有匹配类型的消息上触发 仅在匹配类型和匹配过滤对象的消息上触发过滤 与其他一些解决方案不同,全局和过滤的订阅存储在同一队列中 订阅优先级使用
Sort
ed
Dictionary
表现 取消订阅对象句柄允许从队列中间退订 例子 public class Example { private void SubPublishUnsub () { va
C#5.0本质论第四版(因文件较大传的是百度网盘地址)
C#5.0本质论第四版,高清扫描的,对C#5.0技术讲的比较详细,第1章 C#概述 1 1.1 Hello,World 1 1.2 C#语法基础 3 1.2.1 C#关键字 3 1.2.2 标识符 4 1.2.3 类型定义 5 1.2.4 Main 6 1.2.5 语句和语句分隔符 7 1.2.6 空白 8 1.2.7 使用变量 8 1.2.8 数据类型 9 1.2.9 变量的声明 9 1.2.10 变量的赋值 10 1.2.11 变量的使用 11 1.3 控制台输入和输出 11 1.3.1 从控制台获取输入 11 1.3.2 将输出写入控制台 12 1.3.3 注释 14 1.3.4 托管执行和公共语言基础结构 16 1.3.5 C#和.NET版本 17 1.3.6 CIL和ILDASM 18 1.4 小结 20 第2章 数据类型 21 2.1 基本数值类型 21 2.1.1 整数类型 22 2.1.2 浮点类型 23 2.1.3 decimal类型 23 2.1.4 字面值 24 2.2 更多基本类型 27 2.2.1 布尔类型 27 2.2.2 字符类型 27 2.2.3 字符串 29 2.3 null和void 34 2.3.1 null 34 2.3.2 void 35 2.4 类型的分类 37 2.4.1 值类型 37 2.4.2 引用类型 37 2.5 可空修饰符 38 2.6 数据类型之间的转换 39 2.6.1 显式转型 39 2.6.2 隐式转型 41 2.6.3 不使用转型操作符的类型转换 42 2.7 数组 43 2.7.1 数组的声明 44 2.7.2 数组的实例化和赋值 45 2.7.3 数组的使用 48 2.7.4 字符串作为数组使用 52 2.7.5 常见数组错误 53 2.8 小结 55 第3章 操作符和控制流 57 3.1 操作符 57 3.1.1 一元操作符正和负 58 3.1.2 二元算术操作符 58 3.1.3 复合赋值操作符 64 3.1.4 递增和递减操作符 65 3.1.5 常量表达式和常量符号 68 3.2 控制流程概述 69 3.2.1 if语句 70 3.2.2 嵌套if 71 3.3 代码块 73 3.4 代码块、作用域和声明空间 74 3.5 布尔表达式 76 3.5.1 关系操作符和相等性操作符 77 3.5.2 逻辑布尔操作符 77 3.5.3 逻辑求反操作符 78 3.5.4 条件操作符 79 3.5.5 空接合操作符 80 3.6 按位操作符 80 3.6.1 移位操作符 81 3.6.2 按位操作符 82 3.6.3 按位赋值操作符 83 3.6.4 按位取反操作符 84 3.7 控制流语句(续) 84 3.7.1 while和do while循环 84 3.7.2 for循环 86 3.7.3 foreach循环 88 3.7.4 switch语句 90 3.8 跳转语句 92 3.8.1 break语句 92 3.8.2 continue语句 94 3.8.3 goto语句 95 3.9 C#预处理指令 97 3.9.1 排除和包含代码 98 3.9.2 定义预处理符号 98 3.9.3 生成错误和警告 99 3.9.4 关闭警告消息 99 3.9.5 nowarn:选项 99 3.9.6 指定行号 100 3.9.7 可视编辑器提示 100 3.10 小结 101 第4章 方法和参数 103 4.1 方法的调用 104 4.1.1 命名空间 105 4.1.2 类型名称 106 4.1.3 作用域 107 4.1.4 方法名称 107 4.1.5 形参和实参 107 4.1.6 方法返回值 107 4.1.7 语句与方法调用的比较 108 4.2 方法的声明 108 4.2.1 形式参数声明 109 4.2.2 方法返回类型声明 110 4.3 using指令 111 4.4 Main()的返回值和参数 114 4.5 方法的参数 116 4.5.1 值参数 116 4.5.2 引用参数(ref) 117 4.5.3 输出参数(out) 118 4.5.4 参数数组 120 4.6 递归 122 4.7 方法重载 124 4.8 可选参数 126 4.9 用异常实现基本错误处理 129 4.9.1 捕捉错误 130 4.9.2 使用throw语句报告错误 136 4.10 小结 138 第5章 类 139 5.1 类的定义和实例化 141 5.2 实例字段 144 5.2.1 实例字段的声明 144 5.2.2 实例字段的访问 144 5.3 实例方法 145 5.4 使用this关键字 146 5.5 访问修饰符 151 5.6 属性 153
C#
110,571
社区成员
642,565
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章