比如 
刘德华  求出第一个字的拼音字第一个  L
周华键  求出第一个字的拼音字第一个  Z能不能实现
给咱说说

解决方案 »

  1.   

    C#计算汉语拼音码http://dev.csdn.net/article/45/45323.shtm
      

  2.   

    /// <summary>
    /// 汉字转拼音缩写
    /// Code By [email protected]
    /// 2004-11-30
    /// </summary>
    /// <param name="str">要转换的汉字字符串</param>
    /// <returns>拼音缩写</returns>
    public string GetPYString(string str)
    {
    string tempStr = "";
    foreach(char c in str)
    {
    if((int)c >= 33 && (int)c <=126)
    {//字母和符号原样保留
    tempStr += c.ToString();
    }
    else
    {//累加拼音声母
    tempStr += GetPYChar(c.ToString());
    }
    }
    return tempStr;
    } /// <summary>
    /// 取单个字符的拼音声母
    /// Code By [email protected]
    /// 2004-11-30
    /// </summary>
    /// <param name="c">要转换的单个汉字</param>
    /// <returns>拼音声母</returns>
    public string GetPYChar(string c)
    {
    if(c==" ") return " ";
    byte[] array = new byte[2];
    array = System.Text.Encoding.Default.GetBytes(c);
    int i = (short)(array[0] - '\0') * 256 + ((short)(array[1] - '\0')); if ( i < 0xB0A1) return "*";
    if ( i < 0xB0C5) return "A";
    if ( i < 0xB2C1) return "B";
    if ( i < 0xB4EE) return "C";
    if ( i < 0xB6EA) return "D";
    if ( i < 0xB7A2) return "E";
    if ( i < 0xB8C1) return "F";
    if ( i < 0xB9FE) return "G";
    if ( i < 0xBBF7) return "H";
    if ( i < 0xBFA6) return "J";
    if ( i < 0xC0AC) return "K";
    if ( i < 0xC2E8) return "L";
    if ( i < 0xC4C3) return "M";
    if ( i < 0xC5B6) return "N";
    if ( i < 0xC5BE) return "O";
    if ( i < 0xC6DA) return "P";
    if ( i < 0xC8BB) return "Q";
    if ( i < 0xC8F6) return "R";
    if ( i < 0xCBFA) return "S";
    if ( i < 0xCDDA) return "T";
    if ( i < 0xCEF4) return "W";
    if ( i < 0xD1B9) return "X";
    if ( i < 0xD4D1) return "Y";
    if ( i < 0xD7FA) return "Z"; return "*";
    }
      

  3.   

    谢谢 大家
    更谢谢  wj2929(*ヤRěйヤ*) 
    OK了!