日期:2014-05-19  浏览次数:20490 次

有点难,如何获取汉字的第一个拼音字母
从数据库里面读出来,并或得第一个汉字的第一个字母,比如啊就是a,波就是b...等等,希望知道的朋友告诉我

------解决方案--------------------
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
/*
* 说明:此类用于将一个字符串找出首字声母,用法:ChineseConvert.UtilIndexCode(str);
*
*
*/
/// <summary>
/// ChineseConvert 的摘要说明
/// </summary>
public class ChineseConvert
{
public ChineseConvert()
{
}
/// <summary>
/// 返回字符串的首写字母字符串
/// </summary>
/// <param name= "IndexTxt "> 需得到首写字母的字符串 </param>
/// <returns> </returns>
public static String UtilIndexCode(String IndexTxt)
{
string _Temp = null;
for (int i = 0; i < IndexTxt.Length; i++)
_Temp = _Temp + GetOneIndex(IndexTxt.Substring(i, 1));
return _Temp;
}

//得到单个字符的首字母
private static String GetOneIndex(String OneIndexTxt)
{
if (Convert.ToChar(OneIndexTxt) > = 0 && Convert.ToChar(OneIndexTxt) < 256)
return OneIndexTxt;
else
return GetGbkX(OneIndexTxt);
}

//根据汉字拼音排序得到首字母
private static 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 "; <