当前位置: 首页 > news >正文

C#根据中文首字母排序

第一种方式:
这种方式会受制于服务器的区域和语言设置。
1.首先添加一个排序类ChineseNameComparer

public class ChineseNameComparer : IComparer<string>
{public int Compare(string x, string y){if (x == null || y == null)return 0;var xFirstChar = x.Substring(0, 1);var yFirstChar = y.Substring(0, 1);return string.Compare(xFirstChar, yFirstChar, StringComparison.CurrentCulture);}
}

2.list排序

list = list.OrderBy(t => t.ChineseName, new ChineseNameComparer()).ToList();

第二种方式:引入Microsoft.International.Converters.PinYinConverter包

private string GetPinyin(string chineseName){string pinyin = string.Empty;foreach (char c in chineseName){if (ChineseChar.IsValidChar(c)){ChineseChar chineseChar = new ChineseChar(c);pinyin += chineseChar.Pinyins[0][0];}else{pinyin += c;}}return pinyin;}

获取到拼音后再list排序。

http://www.lryc.cn/news/171974.html

相关文章:

  • 仪表基础知识培训
  • 无涯教程-JavaScript - PI函数
  • 前端防抖和节流
  • [pai-diffusion]pai的easynlp的clip模型训练
  • 期权如何交易?期权如何做模拟交易?
  • 【新书推荐】大模型赛道如何实现华丽的弯道超车 —— 《分布式统一大数据虚拟文件系统 Alluxio原理、技术与实践》
  • Calendar对象获取当前周的bug
  • 嵌入式环境buildroot的espeak配置与编译
  • 物理机环境搭建-linux部署nginx
  • 删除安装Google Chrome浏览器时捆绑安装的Google 文档、表格、幻灯片、Gmail、Google 云端硬盘、YouTube网址链接(Mac)
  • 硬件故障诊断:快速定位问题
  • IP代理与加速器:理解它们的区别与共同点
  • Java中List转字符串的方法
  • PyTorch实战:实现MNIST手写数字识别
  • 【计算机网络】深入理解TCP协议二(连接管理机制、WAIT_TIME、滑动窗口、流量控制、拥塞控制)
  • springboot整合sentinel完成限流
  • signal(SIGPIPE, SIG_IGN)
  • GAN学习笔记
  • layui框架学习(45: 工具集模块)
  • 车道检测:Decoupling the Curve Modeling and Pavement Regression for Lane Detection
  • 【扩散生成模型】Diffusion Generative Models
  • 美联储加息步伐“暂停”!BTC凌晨力守27000美元!
  • 微信小程序与idea后端如何进行数据交互
  • Java 学习路线分享 maven 是什么?
  • 实战演练 | Navicat 常用功能之转储与运行 SQL 文件
  • MySQL的备份与恢复
  • Python中的函数未定义的错误
  • AG35学习笔记(二):安装编译SDK、CMakeLists编译app、Scons编译server
  • 多台服务器sessionId共享
  • 如何在Gazebo中实现多机器人编队仿真