Visual Studio International Pack 1.0
=====================================
功能:
1.Simplified Chinese Pin-Yin Conversion Library(简体中文拼音转换类库)
2.Traditional Chinese to Simplified Chinese Conversion Library and Add-In Tool(中文繁简转换类库及Visual Studio插件工具)
下载 ,解压,安装CHSPinYinConv.msi后,得到"%Path%\Microsoft Visual Studio International Pack\Simplified Chinese Pin-Yin Conversion Library"的目录,进入,可以看到"ChanCharInfo.dll","ChanCharInfo.xml"文件,这就是编程需要的,添加到工程的Lib文件夹下,"Simplified Chinese Pin-Yin Conversion Library Document.chm"是帮助文档,看起描述,可以看到只有一个类,ChineseChar类,给了如下示例代码:
using System; using System.Collections.Generic; using System.Text; using Microsoft.International.Converters.PinYinConverter; namespace Example_CS { class Program { static void Main(string[] args) { 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."); } } } } // This code produces the following output: // // Stroke number of 微 in Chinese is 13. // 37 characters' pinyin is "wei1". // 微 and 薇 have the same pinyin.
打开其帮助文档,可以发现这是一个十分简单的类,其中有如下方法,带S的表示静态方法,不需实例化就可调用.
1.新建一个工程,在其中添加引用ChnCharInfo.dll文件,建好后类型如下:
2.添加命名空间 using Microsoft.International.Converters.PinYinConverter
3.试用所给各个函数功能,整段代码如下:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Microsoft.International.Converters.PinYinConverter; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { //将汉字转化为拼音,如果是多音字,返回string数组 ChineseChar hanzi = new ChineseChar('空'); foreach (var item in hanzi.Pinyins) { Console.WriteLine(item); //返回KONG1等数组,最后一个表示声调,1为平声 } //输出这个汉字多音的个数 Console.WriteLine(hanzi.PinyinCount); //输出两个字是否是同音字 bool b = ChineseChar.IsHomophone('王', '往'); Console.WriteLine(b); //检测是否是汉字 Console.WriteLine(ChineseChar.IsValidChar('过')); Console.WriteLine(ChineseChar.IsValidChar('a')); //获取给定拼音的所有同音字 string wang = "yang1"; foreach (var item in ChineseChar.GetChars(wang)) { Console.WriteLine(item); } Console.ReadKey(); } } }
利用这个库,可以做一些有用的事,比如数据库查询功能增强.
数据库查询功能增强:
数据库原来可以根据用户输入的零件名查找零件,但是有些零件的名称还有难写的字符,这时,只要零件名称的拼音对,那么就可以先将数据库中的零件名转为拼音,然后和用户要查询的拼音比较,如果一样,就显示出这条数据(用户本来想查'铆接',但是输入'毛接',仍可查询得到正确结果)。
首字母匹配,将数据库中的汉字转为拼音字符串,提取第一个字符,和用户输入的来进行比较('如用户输入MJ',可以匹配出'铆接')。