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小时内与您取得联系。