您的位置:首页 > 编程语言 > C#

c#获得汉字的第一个字母,方便用拼音码查数据

2006-11-09 15:19 351 查看
//我编程时要用到查询测字拼音首字母的功能,于是从网上搜
//但发现大部分都是将汉字的内码转换成区位码,然后得出拼音的首字母
//这个方法好是好,只是许多GB2312编码以外的汉字查不到,于是我想了这个办法,我觉得代码很短,但很实用
//而且GBK字符集的汉字都能查,希望大家多提意见
public class hzpy
{
public hzpy()
{
//
// TODO: 在此处添加构造函数逻辑
//
}

//返回给定字符串的单个字
public String IndexCode(String IndexTxt)
{
String _Temp=null;
for(int i=0;i<IndexTxt.Length;i++)
_Temp = _Temp + GetOneIndex( IndexTxt.Substring(i,1) );
return _Temp;
}

//得到单个字符的首字母
private String GetOneIndex(String OneIndexTxt)
{

if(Convert.ToChar(OneIndexTxt)>=0 && Convert.ToChar(OneIndexTxt)<256)
return OneIndexTxt;
else
return GetGbkX(OneIndexTxt);
}

//根据根据测字拼音排序得到首字母

private string GetGbkX(string str)
{
if(str.CompareTo("吖")<0)
{
return str;
}
if(str.CompareTo("八")<0)
{
return "A";
}

if(str.CompareTo("嚓")<0)
{
return "B";
}

if(str.CompareTo("咑")<0)
{
return "C";
}
if(str.CompareTo("妸")<0)
{
return "D";
}
if(str.CompareTo("发")<0)
{
return "E";
}
if(str.CompareTo("旮")<0)
{
return "F";
}
if(str.CompareTo("铪")<0)
{
return "G";
}
if(str.CompareTo("讥")<0)
{
return "H";
}
if(str.CompareTo("咔")<0)
{
return "J";
}
if(str.CompareTo("垃")<0)
{
return "K";
}
if(str.CompareTo("嘸")<0)
{
return "L";
}
if(str.CompareTo("拏")<0)
{
return "M";
}
if(str.CompareTo("噢")<0)
{
return "N";
}
if(str.CompareTo("妑")<0)
{
return "O";
}
if(str.CompareTo("七")<0)
{
return "P";
}
if(str.CompareTo("亽")<0)
{
return "Q";
}
if(str.CompareTo("仨")<0)
{
return "R";
}
if(str.CompareTo("他")<0)
{
return "S";
}
if(str.CompareTo("哇")<0)
{
return "T";
}
if(str.CompareTo("夕")<0)
{
return "W";
}
if(str.CompareTo("丫")<0)
{
return "X";
}
if(str.CompareTo("帀")<0)
{
return "Y";
}
if(str.CompareTo("咗")<0)
{
return "Z";
}
return str;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: