C# 字符串按 ASCII码 排序的方法

发布时间 - 2026-01-11 00:46:26    点击率:

在和银行做数据对接时,涉及到数据传输时的验签及加密。其中数据签名方案中就要求数据项根据属性名按 ASCII码 进行升序排序。C#中的ASCII码排序并不是表面上那么简单,一不小心就入坑了。因为C#的排序默认并不是按照ASCII码进行排序的。举个例子, 我有这样一个字符串数组,然后对其排序。

string[] vv = { "1", "2", "A", "a", "B", "b" };
Array.Sort(vv); //结果 1 2 a A b B

如果是按照ASCII码进行排序的话,顺序应该是: 1, 2, A, B, a, b  而实际排序后的结果则是:1, 2, a, A, b, B . 这也就是说Sort()方法默认情况下并不是按ASCII码进行排序的。之后我也同样测试了C#中的OrderBy()的排序,发现它默认情况下也并不是按照ASCII码进行的排序。

string[] vv = { "1", "2", "A", "a", "B", "b" };
vv.OrderBy(x => x); //结果 1 2 a A b B

那么既然默认排序不是按ASCII码进行的排序,我们要怎么做呢? 看下面代码,只需要在原来排序方法上再加个参数: string.CompareOrdinal。string.CompareOrdinal会把每个字符先转成相应的数值(如 a 转为数值 97),然后再对数值进行比较。

Array.Sort(vv, string.CompareOrdinal); //ASCII排序

注:掉入这个坑是因为起初不知道如何对字符做ASCII码排序,于是百度了一把。得到的结果就是这个C# 参数按照ASCII码从小到大排序(字典序)  而当我采用这种方式时,银行验签那步始终通不过,调试发现我排序后的结果和银行那边的不同。

以上所述是小编给大家介绍的C# 字符串按 ASCII码 排序的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# c#  # 字符串按ascii排序  # 字符串ascii排序  # 二叉排序树的实现与基本操作  # 详解Java二叉排序树  # C语言二叉排序(搜索)树实例  # C#代码实现扑克牌排序的几种方式  # C#实现的二维数组排序算法示例  # C# ListView 点击表头对数据进行排序功能的实现代码  # C# 参数按照ASCII码从小到大排序(字典序)  # C#七大经典排序算法系列(上)  # C#实现冒泡排序算法的代码示例  # C#中哈希表(HashTable)用法实例详解(添加/移除/判断/遍历/排序等)  # 逐步讲解快速排序算法及C#版的实现示例  # C#使用IComparer自定义List类实现排序的方法  # C#实现二叉排序树代码实例  # 小编  # 情况下  # 我也  # 升序  # 是因为  # 在此  # 我有  # 则是  # 只需  # 当我  # 要在  # 这也  # 对其  # 给大家  # 这样一个  # 怎么做  # 会把  # 表面上  # 涉及到  # 再加 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Internet Explorer官网直接进入 IE浏览器在线体验版网址  简单实现Android验证码  百度浏览器ai对话怎么关 百度浏览器ai聊天窗口隐藏  laravel怎么使用数据库工厂(Factory)生成带有关联模型的数据_laravel Factory生成关联数据方法  如何制作一个表白网站视频,关于勇敢表白的小标题?  Laravel如何与Vue.js集成_Laravel + Vue前后端分离项目搭建指南  javascript基本数据类型及类型检测常用方法小结  如何在 Python 中将列表项按字母顺序编号(a.、b.、c. …)  如何快速搭建高效简练网站?  Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  Laravel Admin后台管理框架推荐_Laravel快速开发后台工具  佛山企业网站制作公司有哪些,沟通100网上服务官网?  Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧  Laravel如何生成PDF或Excel文件_Laravel文档导出工具与使用教程  DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解  中山网站制作网页,中山新生登记系统登记流程?  Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门  零服务器AI建站解决方案:快速部署与云端平台低成本实践  Laravel storage目录权限问题_Laravel文件写入权限设置  详解jQuery停止动画——stop()方法的使用  在线制作视频网站免费,都有哪些好的动漫网站?  linux写shell需要注意的问题(必看)  专业商城网站制作公司有哪些,pi商城官网是哪个?  如何做网站制作流程,*游戏网站怎么搭建?  青岛网站建设如何选择本地服务器?  Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控  Windows10电脑怎么查看硬盘通电时间_Win10使用工具检测磁盘健康  标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析  Laravel如何编写单元测试和功能测试?(PHPUnit示例)  1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤  ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集  如何构建满足综合性能需求的优质建站方案?  Claude怎样写约束型提示词_Claude约束提示词写法【教程】  网页设计与网站制作内容,怎样注册网站?  详解vue.js组件化开发实践  Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出  悟空识字怎么关闭自动续费_悟空识字取消会员自动扣费步骤  Laravel怎么自定义错误页面_Laravel修改404和500页面模板  谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  Python正则表达式进阶教程_复杂匹配与分组替换解析  如何获取PHP WAP自助建站系统源码?  Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  php结合redis实现高并发下的抢购、秒杀功能的实例  Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转  海南网站制作公司有哪些,海口网是哪家的?  高防服务器租用首荐平台,企业级优惠套餐快速部署