全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

c# 中文转拼音without CJK

Xamarin写Android程序时,通常要使用按中文首字母分组显示(如通讯录) 。

于是需要被迫包含CJK,不过包含后包肯定是会变大的,于是。。。。自己写了一个硬枚举的中文转拼音的类。

原理是这样的:

public class PinYinUtils
{
 private static readonly Dictionary<string, string> PinYinDict = new Dictionary<string, string>
 {

 {"猿", "YUAN"}
 // 等............
 };
 /// <summary>
 /// Return to the first letter
 /// </summary>
 /// <param name="word">Chinese word</param>
 /// <example>
 /// GetFirstPinyinChar("张三")
 /// will return "Z"
 /// Can be used for address book index and so on
 /// </example>
 /// <returns></returns>
 public static string GetFirstPinyinChar(string word)
 {
 if (word.Length == 0) return "#";
 var firstLetter = word[0].ToString();
 if (PinYinDict.ContainsKey(firstLetter))
 {
  return PinYinDict[firstLetter];
 }
 return firstLetter;
 }
 /// <summary>
 /// return the chinese char's pinyin
 /// </summary>
 /// <param name="chineseChar"></param>
 /// <example>
 /// GetPinYin('福')
 /// will return "FU"
 /// </example>
 /// <returns></returns>
 public static string GetPinYin(char chineseChar)
 {
 var str = chineseChar.ToString();
 if (PinYinDict.ContainsKey(str))
 {
  return PinYinDict[str];
 }
 return null;
 }
 /// <summary>
 /// Get the phonetic abbreviation for Chinese char
 /// </summary>
 /// <param name="chineseChar"></param>
 /// <example>
 /// GetShortPinYin('福')
 /// will return "F"
 /// </example>
 /// <returns></returns>
 public static string GetShortPinYin(char chineseChar)
 {
 var str = chineseChar.ToString();
 if (PinYinDict.ContainsKey(str))
 {
  var first = PinYinDict[str].FirstOrDefault();
  if (first == 0) return null;
  return first.ToString();
 }
 return null;
 }
}

源码:

https://github.com/chsword/PinYinUtil/blob/master/PinYinUtils.cs

GITHUB:https://github.com/chsword/PinYinUtil

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!


# c#中文转拼音  # Character.UnicodeBlock中cjk的说明详解  # 是这样  # 写了  # 要使  # 变大  # 首字母  # YUAN  # summary  # PinYinDict  # string  # gt  # lt  # Return  # Chinese  # GetFirstPinyinChar  # 张三  # letter  # param  # word  # pre  # class 


相关文章: php8.4新语法match怎么用_php8.4match表达式替代switch【方法】  定制建站如何定义?其核心优势是什么?  如何在宝塔面板中修改默认建站目录?  公司网站制作需要多少钱,找人做公司网站需要多少钱?  如何在IIS中新建站点并配置端口与IP地址?  清单制作人网站有哪些,近日“兴风作浪的姑奶奶”引起很多人的关注这是什么事情?  临沂网站制作企业,临沂第三中学官方网站?  巅云智能建站系统:可视化拖拽+多端适配+免费模板一键生成  装修招标网站设计制作流程,装修招标流程?  如何在云主机快速搭建网站站点?  建站之星×万网:智能建站系统+自助建站平台一键生成  建站IDE高效指南:快速搭建+SEO优化+自适应模板全解析  公众号网站制作网页,微信公众号怎么制作?  开封网站制作公司,网络用语开封是什么意思?  如何快速生成专业多端适配建站电话?  建站之星安全性能如何?防护体系能否抵御黑客入侵?  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  网站制作专业公司有哪些,如何制作一个企业网站,建设网站的基本步骤有哪些?  如何在腾讯云服务器快速搭建个人网站?  建站OpenVZ教程与优化策略:配置指南与性能提升  建站之星备案是否影响网站上线时间?  如何快速查询网站的真实建站时间?  广平建站公司哪家专业可靠?如何选择?  如何用美橙互联一键搭建多站合一网站?  建站之星安装模板失败:服务器环境不兼容?  名字制作网站免费,所有小说网站的名字?  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  实现虚拟支付需哪些建站技术支撑?  网站代码制作软件有哪些,如何生成自己网站的代码?  免费网站制作模板下载,除了易企秀之外还有什么H5平台可以制作H5长页面,最好是免费的?  公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?  如何在腾讯云免费申请建站?  家具网站制作软件,家具厂怎么跑业务?  nginx修改上传文件大小限制的方法  官网建站费用明细查询_企业建站套餐价格及收费标准指南  攀枝花网站建设,攀枝花营业执照网上怎么年审?  相亲简历制作网站推荐大全,新相亲大会主持人小萍萍资料?  怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?  制作销售网站教学视频,销售网站有哪些?  建站之星伪静态规则如何正确配置?  建站之星会员如何解锁更多建站功能?  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  建站之星Pro快速搭建教程:模板选择与功能配置指南  制作网站的软件下载免费,今日头条开宝箱老是需要下载怎么回事?  香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化  建站主机选购指南与交易推荐:核心配置解析  台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?  建站之星如何实现PC+手机+微信网站五合一建站?  佛山企业网站制作公司有哪些,沟通100网上服务官网?  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。