自学内容网 自学内容网

C#使用DotNetCommon.PinYin标出汉字拼音

使用DotNetCommon.PinYin库,可以标注文字的拼音,应用了该库的几个方法,效果很不错。可以通过NuGet安装:
NuGet

或:

dotnet add package DotNetCommon

获取字符串拼音

    //
    // 摘要:
    //     获取拼音全拼,支持多音,中文字符集为[0x3400,0x9FD5],注:偏僻汉字很多未验证
    //
    // 参数:
    //   text:
    //     原文本
    //
    //   tone:
    //     是否带声调
    public static string GetPinyin(string text, bool tone = false)
    {
        return string.Join("", PinyinDict.GetPinyinList(text, tone ? 1 : 0));
    }

应用举例

using DotNetCommon.PinYin;

Console.WriteLine(WordsHelper.GetPinyin("曾经", true));

执行效果

CéngJīng

获取人名拼音

    //
    // 摘要:
    //     获取姓名拼音,中文字符集为[0x3400,0x9FD5],注:偏僻汉字很多未验证
    //
    // 参数:
    //   name:
    //     姓名
    //
    //   tone:
    //     是否带声调
    public static string GetPinyinForName(string name, bool tone = false)
    {
        return string.Join("", PinyinDict.GetPinyinForName(name, tone ? 1 : 0));
    }

有时候,一些系统需要获取用户的拼音,这个方法非常有帮助,示例如下:

using DotNetCommon.PinYin;

Console.WriteLine(WordsHelper.GetPinyinForName("曾经", true));

运行结果

ZēngJīng

获取单个字符的所有拼音

    //
    // 摘要:
    //     获取所有拼音,中文字符集为[0x3400,0x9FD5],注:偏僻汉字很多未验证
    //
    // 参数:
    //   c:
    //     原文本
    //
    //   tone:
    //     是否带声调
    public static List<string> GetAllPinyin(char c, bool tone = false)
    {
        return PinyinDict.GetAllPinyin(c, tone ? 1 : 0);
    }

这个方法可以列出某个字的所有拼音,代码如下:

using DotNetCommon.PinYin;

var charPinYinList = WordsHelper.GetAllPinyin('说', true);
foreach (var charPinYin in charPinYinList)
{
    Console.WriteLine(charPinYin);
}

运行效果

Shuō
Shuì
Yuè

原文地址:https://blog.csdn.net/Humbunklung/article/details/143630833

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!