欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C# 汉字转化拼音的简单实例代码

程序员文章站 2023-12-13 10:49:58
首先引入chncharinfo.dll 第3方的一个库 代码: btn_chinchar_click事件:复制代码 代码如下:private void btn_chin...

首先引入chncharinfo.dll 第3方的一个库

代码:

btn_chinchar_click事件:

复制代码 代码如下:

private void btn_chinchar_click(object sender, eventargs e)
        {
            chinesechar cr =null;
            string str = "", txtstring = txt_string.text.trim();
            if (!string.isnullorempty(txtstring))
            {
                foreach (var item in cr.getchinesespellings(txtstring))
                {
                    str += item + "-";
                }
            }
            messagebox.show(str);
        }

扩展方法:

复制代码 代码如下:

public static class chinesecharacters
    {
        public static icollection<string> getchinesespellings(this chinesechar chinchar ,string value)
        {
            list<string> list;
            int i,start;
            char c;

            if (string.isnullorempty(value))return null;

            start = 0;
            list = new list<string>();

            for (i = 0; i < value.length; ++i)
            {
                c = value[i];
                if (chinesechar.isvalidchar(c))
                {
                    if (i > start)
                    {
                        list.add(value.substring(start, i - start));
                    }
                    chinchar = new chinesechar(c);
                    list.add(chinchar.pinyins.first().substring(0, chinchar.pinyins.first().length - 1).tolower());
                    start = i + 1;
                }
            }

            if (i > start)
            {
                list.add(value.substring(start, i - start));
            }
            return list;
        }
    }


运用结果:

C# 汉字转化拼音的简单实例代码

上一篇:

下一篇: