C# 获取汉字的拼音首字母
获取汉字拼音的首字母是一个在做项目的过程中经常需要用到的功能,今天我们主要来探讨下C#获取汉字的拼音首字母
///<summary>
///在指定的字符串列表CnStr中检索符合拼音索引字符串
///</summary>
///<paramname="CnStr">汉字字符串</param>
///<returns>相对应的汉语拼音首字母串</returns>
publicstaticstringGetSpellCode(stringCnStr){
stringstrTemp="";
intiLen=CnStr.Length;
inti=0;
for(i=0;i<=iLen-1;i++){
strTemp+=GetCharSpellCode(CnStr.Substring(i,1));
}
returnstrTemp;
}
///<summary>
///得到一个汉字的拼音第一个字母,如果是一个英文字母则直接返回大写字母
///</summary>
///<paramname="CnChar">单个汉字</param>
///<returns>单个大写字母</returns>
privatestaticstringGetCharSpellCode(stringCnChar){
longiCnChar;
byte[]ZW=System.Text.Encoding.Default.GetBytes(CnChar);
//如果是字母,则直接返回
if(ZW.Length==1){
returnCnChar.ToUpper();
}
else{
//getthearrayofbytefromthesinglechar
inti1=(short)(ZW[0]);
inti2=(short)(ZW[1]);
iCnChar=i1*256+i2;
}
//iCnCharmatchtheconstant
if((iCnChar>=45217)&&(iCnChar<=45252)){
return"A";
}
elseif((iCnChar>=45253)&&(iCnChar<=45760)){
return"B";
}elseif((iCnChar>=45761)&&(iCnChar<=46317)){
return"C";
}elseif((iCnChar>=46318)&&(iCnChar<=46825)){
return"D";
}elseif((iCnChar>=46826)&&(iCnChar<=47009)){
return"E";
}elseif((iCnChar>=47010)&&(iCnChar<=47296)){
return"F";
}elseif((iCnChar>=47297)&&(iCnChar<=47613)){
return"G";
}elseif((iCnChar>=47614)&&(iCnChar<=48118)){
return"H";
}elseif((iCnChar>=48119)&&(iCnChar<=49061)){
return"J";
}elseif((iCnChar>=49062)&&(iCnChar<=49323)){
return"K";
}elseif((iCnChar>=49324)&&(iCnChar<=49895)){
return"L";
}elseif((iCnChar>=49896)&&(iCnChar<=50370)){
return"M";
}elseif((iCnChar>=50371)&&(iCnChar<=50613)){
return"N";
}elseif((iCnChar>=50614)&&(iCnChar<=50621)){
return"O";
}elseif((iCnChar>=50622)&&(iCnChar<=50905)){
return"P";
}elseif((iCnChar>=50906)&&(iCnChar<=51386)){
return"Q";
}elseif((iCnChar>=51387)&&(iCnChar<=51445)){
return"R";
}elseif((iCnChar>=51446)&&(iCnChar<=52217)){
return"S";
}elseif((iCnChar>=52218)&&(iCnChar<=52697)){
return"T";
}elseif((iCnChar>=52698)&&(iCnChar<=52979)){
return"W";
}elseif((iCnChar>=52980)&&(iCnChar<=53640)){
return"X";
}elseif((iCnChar>=53689)&&(iCnChar<=54480)){
return"Y";
}elseif((iCnChar>=54481)&&(iCnChar<=55289)){
return"Z";
}else
return("?");
}
以上所述就是本文的全部内容了,希望大家能够喜欢。