C# 获取中文首字母

  /// <summary>         /// 获取中文首字母         /// </summary>     

    /// <param name="ChineseStr">中文字符串</param>     

    /// <returns>首字母</returns>       

  public static string GB2Spell(string ChineseStr)         {      

       string Capstr = string.Empty;           

      byte[] ZW = new byte[2];      

      long ChineseStr_int;       

      string CharStr, ChinaStr = "";      

       for (int i = 0; i <= ChineseStr.Length - 1; i++)             {

                CharStr = ChineseStr.Substring(i, 1).ToString();         

               ZW = System.Text.Encoding.Default.GetBytes(CharStr);                 // 得到汉字符的字节数组        

             if (ZW.Length == 2)                 {        

                 int i1 = (short)(ZW[0]);         

                         int i2 = (short)(ZW[1]);      

                         ChineseStr_int = i1 * 256 + i2;                    

        //table of the constant list                    

         // 'A'; //45217..45252

                    // 'B'; //45253..45760

                    // 'C'; //45761..46317   

                  // 'D'; //46318..46825

                    // 'E'; //46826..47009

                    // 'F'; //47010..47296

                    // 'G'; //47297..47613

                    // 'H'; //47614..48118

                    // 'J'; //48119..49061

                    // 'K'; //49062..49323

                    // 'L'; //49324..49895

                    // 'M'; //49896..50370

                    // 'N'; //50371..50613  

                   // 'O'; //50614..50621

                    // 'P'; //50622..50905

                    // 'Q'; //50906..51386

                    // 'R'; //51387..51445

                    // 'S'; //51446..52217

                    // 'T'; //52218..52697  

                   //没有U,V     

                   // 'W'; //52698..52979  

                   // 'X'; //52980..53640  

                   // 'Y'; //53689..54480  

                   // 'Z'; //54481..55289

                    if ((ChineseStr_int >= 45217) && (ChineseStr_int <= 45252))                             {                    ChinaStr = "a";               }  

       else if ((ChineseStr_int >= 45253) && (ChineseStr_int <= 45760))                       {                   ChinaStr = "b";                        }

         else if ((ChineseStr_int >= 45761) && (ChineseStr_int <= 46317))                     {                         ChinaStr = "c";                     }                     else if ((ChineseStr_int >= 46318) && (ChineseStr_int <= 46825))                     {                         ChinaStr = "d";                     }                     else if ((ChineseStr_int >= 46826) && (ChineseStr_int <= 47009))                     {                         ChinaStr = "e";                     }                     else if ((ChineseStr_int >= 47010) && (ChineseStr_int <= 47296))                     {                         ChinaStr = "f";                     }                     else if ((ChineseStr_int >= 47297) && (ChineseStr_int <= 47613))                     {                         ChinaStr = "g";                     }                     else if ((ChineseStr_int >= 47614) && (ChineseStr_int <= 48118))                     {                        ChinaStr = "h";                     }  

                    else if ((ChineseStr_int >= 48119) && (ChineseStr_int <= 49061))                     {                         ChinaStr = "j";                     }                     else if ((ChineseStr_int >= 49062) && (ChineseStr_int <= 49323))                     {                         ChinaStr = "k";                     }                     else if ((ChineseStr_int >= 49324) && (ChineseStr_int <= 49895))                     {                         ChinaStr = "l";                     }                     else if ((ChineseStr_int >= 49896) && (ChineseStr_int <= 50370))                     {                         ChinaStr = "m";                     }                     else if ((ChineseStr_int >= 50371) && (ChineseStr_int <= 50613))                     {                         ChinaStr = "n";                     }                     else if ((ChineseStr_int >= 50614) && (ChineseStr_int <= 50621))                     {                         ChinaStr = "o";                     }                     else if ((ChineseStr_int >= 50622) && (ChineseStr_int <= 50905))                     {                         ChinaStr = "p";                     }                     else if ((ChineseStr_int >= 50906) && (ChineseStr_int <= 51386))                     {                         ChinaStr = "q";                     }                     else if ((ChineseStr_int >= 51387) && (ChineseStr_int <= 51445))                     {                         ChinaStr = "r";                     }                     else if ((ChineseStr_int >= 51446) && (ChineseStr_int <= 52217))                     {                         ChinaStr = "s";                     }                     else if ((ChineseStr_int >= 52218) && (ChineseStr_int <= 52697))                     {                         ChinaStr = "t";                     }                     else if ((ChineseStr_int >= 52698) && (ChineseStr_int <= 52979))                     {                         ChinaStr = "w";                     }                     else if ((ChineseStr_int >= 52980) && (ChineseStr_int <= 53640))                     {                         ChinaStr = "x";                     }                     else if ((ChineseStr_int >= 53689) && (ChineseStr_int <= 54480))                     {                         ChinaStr = "y";                     }                     else if ((ChineseStr_int >= 54481) && (ChineseStr_int <= 55289))                     {                         ChinaStr = "z";                     }

                }    else  

                        Capstr += CharStr;  

                       Capstr += ChinaStr;    

         }

   return Capstr;

 }

你可能感兴趣的:(C# 获取中文首字母)