一、NuGet包
拼音:Install-Package SimplifiedChinesePinYinConversion
简体-繁体互转:Install-Package TraditionalChineseToSimplifiedConverter
二、C#代码
???class Program ???{ ????????????static void Main(string[] args) ???????{ ???????????string Name= "刘大大"; ???????????Console.WriteLine($"{Name}\n全拼:{GetPinyin(Name)},\n首拼:{GetFirstPinyin(Name)},\n繁体字:{GetTraditional(Name)},\n简体字:{GetSimplified(GetTraditional(Name))}"); ???????????Console.ReadKey(); ???????} ???????????????/// <summary> ????????/// 汉字转化为拼音 ???????/// </summary> ????????/// <param name="str">汉字</param> ????????/// <returns>全拼</returns> ????????public static string GetPinyin(string str) ???????{ ???????????string r = string.Empty; ???????????foreach (char obj in str) ???????????{ ???????????????try ???????????????{ ???????????????????ChineseChar chineseChar = new ChineseChar(obj); ???????????????????string t = chineseChar.Pinyins[0].ToString(); ???????????????????r += t.Substring(0, t.Length - 1); ???????????????} ???????????????catch ???????????????{ ???????????????????r += obj.ToString(); ???????????????} ???????????} ???????????return r; ???????} ???????/// <summary> ????????/// 汉字转化为拼音首字母 ???????/// </summary> ????????/// <param name="str">汉字</param> ????????/// <returns>首字母</returns> ????????public static string GetFirstPinyin(string str) ???????{ ???????????string r = string.Empty; ???????????foreach (char obj in str) ???????????{ ???????????????try ???????????????{ ???????????????????ChineseChar chineseChar = new ChineseChar(obj); ???????????????????string t = chineseChar.Pinyins[0].ToString(); ???????????????????r += t.Substring(0, 1); ???????????????} ???????????????catch ???????????????{ ???????????????????r += obj.ToString(); ???????????????} ???????????} ???????????return r; ???????} ???????// <summary> ????????/// 简体转换为繁体 ???????/// </summary> ????????/// <param name="str">简体字</param> ????????/// <returns>繁体字</returns> ????????public static string GetTraditional(string str) ???????{ ???????????string r = string.Empty; ???????????r = ChineseConverter.Convert(str, ChineseConversionDirection.SimplifiedToTraditional); ???????????return r; ???????} ???????/// <summary> ????????/// 繁体转换为简体 ???????/// </summary> ????????/// <param name="str">繁体字</param> ????????/// <returns>简体字</returns> ????????public static string GetSimplified(string str) ???????{ ???????????string r = string.Empty; ???????????r = ChineseConverter.Convert(str, ChineseConversionDirection.TraditionalToSimplified); ???????????return r; ???????} ???????#endregion ???}}
运行结果
ASP.NET Core使用微软官方类库实现汉字转拼音
原文地址:https://www.cnblogs.com/lwc1st/p/9045382.html