天天看点

拼音检索

当我们遇到要处理汉字和拼音之间的转化关系怎么办?如和用程序来实现?

我搜索到一个ChineseChar开发包,然后实现了这一难题

using System;

using Microsoft.International.Converters.PinYinConverter;

namespace 拼音基础

{

    class Program

    {

        static void Main(string[] args)

        {

            #region 判断是否为同音字

            ChineseChar chineseChar = new ChineseChar('微');

            Console.WriteLine("Stroke number of 微 in Chinese is {0}.", chineseChar.StrokeNumber);

            Console.WriteLine("{0} characters' pinyin is \"wei1\".", ChineseChar.GetHomophoneCount("wei1"));

            if (ChineseChar.IsHomophone('微', '薇'))

            {

                Console.WriteLine("微 and 薇 have the same pinyin.");

            }

            else

                Console.WriteLine("微 and 薇 have different pinyins.");

            } 

            #endregion

            ChineseChar char1 = new ChineseChar('单');

            bool f = ChineseChar.IsHomophone('杨','洋');

            Console.Write("杨和洋是否为同音字"+f);

            Console.Write("\n单是否为多音字:"+char1.IsPolyphone);

            char[] chars = ChineseChar.GetChars("ji3");//要加上声调

            foreach (char c in chars)

                Console.Write(c + " ");

            for (int i = 0; i < char1.PinyinCount; i++)

                string s=char1.Pinyins[i];

                Console.WriteLine(s);

            //判断是否是一个拼音字符串

            Console.WriteLine("de是否是一个合法的拼音"+ChineseChar.IsValidPinyin("de1"));//1,2,3,4表示声调

            #region 输入一段中文,写出拼音

            string str = Console.ReadLine();

            foreach (char c in str)

                if (ChineseChar.IsValidChar(c))

                {

                    ChineseChar cc = new ChineseChar(c);

                    Console.Write(cc.Pinyins[0] + " "); 

                }

                else

                    Console.Write(c);

            Console.Read();

        }

    }

}

本文转自蓬莱仙羽51CTO博客,原文链接:http://blog.51cto.com/dingxiaowei/1366791,如需转载请自行联系原作者

继续阅读