1、为什么要用拼音检索?坐席只能根据客户的语言进行判断,无法准确写对姓名。
2、Visual Studio International Pack
3、练习:根据文档学习使用方法。发下安装包自己探索。目标:输出一个汉字的拼音。
4、CHS:Simplifed Chinese,简体中文。CHT:Traditional Chinese :繁体中文。
5、两种实现方式:实时检索(速度慢);增加一个拼音字段(速度快,有冗余,必要的冗余是可以的)。
6、什么叫冗余:就是这个字段不是必要的。
7、提高运行速度:用冗余,Dictionary、索引、冗余列、Cache。
8、代码示例:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.International.Converters.PinYinConverter;namespace 拼音基础
{class Program{static void Main(string[] args){bool b = ChineseChar.IsHomophone('杨','羊');//判断两个字是否是同音字,同音返回true,不同音返回false。Console.Write(b);char[] chars = ChineseChar.GetChars("yang1");//找出同音字,读音为“yang”第一声调的所有汉字。foreach (char ch in chars){Console.WriteLine(ch);}bool b1 = ChineseChar.IsValidChar('a');//识别给出的字符串是否是一个有效的汉字字符。bool b2 = ChineseChar.IsValidChar('人');Console.WriteLine(b1);Console.WriteLine(b2);ChineseChar cc = new ChineseChar('乐');//获取该汉字的所有读音。//for (int i = 0; i < cc.Pinyins.Count; i++)for (int i = 0; i < cc.PinyinCount; i++){string pinyin = cc.Pinyins[i];Console.WriteLine(pinyin);}string s = Console.ReadLine();foreach (char ch in s){//判断是否是汉字if (ChineseChar.IsValidChar(ch)){ChineseChar cc = new ChineseChar(ch);Console.WriteLine(cc.Pinyins[0]);}else{Console.WriteLine(ch);}}Console.ReadKey();}}
}
附加一些C#知识点:
9、有尖括号<>的一般是泛型。
10、集合的遍历可用 for,也可以用 foreach 。用 for 遍历集合的时候,判断条件时可通过 Count 来判断,代码示例:
ChineseChar cc = new ChineseChar('乐');for (int i = 0; i < cc.Pinyins.Count; i++){string pinyin = cc.Pinyins[i];Console.WriteLine(pinyin);}