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',可以匹配出'铆接').