热门:网页模板.net视频教程JQueryMVCjsonExtJs源码示例三级联动JQuery菜单
您现在的位置:.Net中文社区>> .Net编程>>正文内容

C#输入汉字字符串索引拼音的首字母

发布时间:2010年06月02日点击数: 佚名

在做项目的时候,输入客户的名字,为了方便索引汉字字符串的拼音首字母,作助记码,于是到网上找了一下,还好,有个单个汉字的处理!为了答谢该网友!为了以后的网友,我做了汉字字符串的处理!

  1. using System;  
  2. using System.Drawing;  
  3. using System.Collections;  
  4. using System.ComponentModel;  
  5. using System.Windows.Forms;  
  6. using System.Data;  
  7.  
  8. namespace WinMarket  
  9. {  
  10.     /// <summary>  
  11.     /// Classfun 的摘要说明。  
  12.     /// </summary>  
  13.     public class Classfun  
  14.     {  
  15.         private string Capstr;  
  16.  
  17.         public Classfun()  
  18.         {  
  19.             //  
  20.             // TODO: 在此处添加构造函数逻辑  
  21.             //  
  22.         }  
  23.         public string ChineseCap(string ChineseStr)  
  24.         {  
  25.  
  26.             byte[] ZW = new byte[2];  
  27.             long ChineseStr_int;  
  28.             string CharStr, ChinaStr = "";  
  29.             for (int i = 0; i <= ChineseStr.Length - 1; i++)  
  30.             {  
  31.                 CharStr = ChineseStr.Substring(i, 1).ToString();  
  32.                 ZW = System.Text.Encoding.Default.GetBytes(CharStr);  
  33.                 // 得到汉字符的字节数组  
  34.                 if (ZW.Length == 2)  
  35.                 {  
  36.                     int i1 = (short)(ZW[0]);  
  37.                     int i2 = (short)(ZW[1]);  
  38.                     ChineseStr_int = i1 * 256 + i2;  
  39.                     //table of the constant list  
  40.                     // @#A@#; //45217..45252  
  41.                     // @#B@#; //45253..45760  
  42.                     // @#C@#; //45761..46317  
  43.                     // @#D@#; //46318..46825  
  44.                     // @#E@#; //46826..47009  
  45.                     // @#F@#; //47010..47296  
  46.                     // @#G@#; //47297..47613  
  47.  
  48.                     // @#H@#; //47614..48118  
  49.                     // @#J@#; //48119..49061  
  50.                     // @#K@#; //49062..49323  
  51.                     // @#L@#; //49324..49895  
  52.                     // @#M@#; //49896..50370  
  53.                     // @#N@#; //50371..50613  
  54.                     // @#O@#; //50614..50621  
  55.                     // @#P@#; //50622..50905  
  56.                     // @#Q@#; //50906..51386  
  57.  
  58.                     // @#R@#; //51387..51445  
  59.                     // @#S@#; //51446..52217  
  60.                     // @#T@#; //52218..52697  
  61.                     //没有U,V  
  62.                     // @#W@#; //52698..52979  
  63.                     // @#X@#; //52980..53640  
  64.                     // @#Y@#; //53689..54480  
  65.                     // @#Z@#; //54481..55289  
  66.  
  67.                     if ((ChineseStr_int >= 45217) && (ChineseStr_int <= 45252))  
  68.                     {  
  69.                         ChinaStr = "A";  
  70.                     }  
  71.                     else if ((ChineseStr_int >= 45253) && (ChineseStr_int <= 45760))  
  72.                     {  
  73.                         ChinaStr = "B";  
  74.                     }  
  75.                     else if ((ChineseStr_int >= 45761) && (ChineseStr_int <= 46317))  
  76.                     {  
  77.                         ChinaStr = "C";  
  78.  
  79.                     }  
  80.                     else if ((ChineseStr_int >= 46318) && (ChineseStr_int <= 46825))  
  81.                     {  
  82.                         ChinaStr = "D";  
  83.                     }  
  84.                     else if ((ChineseStr_int >= 46826) && (ChineseStr_int <= 47009))  
  85.                     {  
  86.                         ChinaStr = "E";  
  87.                     }  
  88.                     else if ((ChineseStr_int >= 47010) && (ChineseStr_int <= 47296))  
  89.                     {  
  90.                         ChinaStr = "F";  
  91.                     }  
  92.                     else if ((ChineseStr_int >= 47297) && (ChineseStr_int <= 47613))  
  93.                     {  
  94.                         ChinaStr = "G";  
  95.                     }  
  96.                     else if ((ChineseStr_int >= 47614) && (ChineseStr_int <= 48118))  
  97.                     {  
  98.  
  99.                         ChinaStr = "H";  
  100.                     }  
  101.  
  102.                     else if ((ChineseStr_int >= 48119) && (ChineseStr_int <= 49061))  
  103.                     {  
  104.                         ChinaStr = "J";  
  105.                     }  
  106.                     else if ((ChineseStr_int >= 49062) && (ChineseStr_int <= 49323))  
  107.                     {  
  108.                         ChinaStr = "K";  
  109.                     }  
  110.                     else if ((ChineseStr_int >= 49324) && (ChineseStr_int <= 49895))  
  111.                     {  
  112.                         ChinaStr = "L";  
  113.                     }  
  114.                     else if ((ChineseStr_int >= 49896) && (ChineseStr_int <= 50370))  
  115.                     {  
  116.                         ChinaStr = "M";  
  117.                     }  
  118.  
  119.                     else if ((ChineseStr_int >= 50371) && (ChineseStr_int <= 50613))  
  120.                     {  
  121.                         ChinaStr = "N";  
  122.  
  123.                     }  
  124.                     else if ((ChineseStr_int >= 50614) && (ChineseStr_int <= 50621))  
  125.                     {  
  126.                         ChinaStr = "O";  
  127.                     }  
  128.                     else if ((ChineseStr_int >= 50622) && (ChineseStr_int <= 50905))  
  129.                     {  
  130.                         ChinaStr = "P";  
  131.  
  132.                     }  
  133.                     else if ((ChineseStr_int >= 50906) && (ChineseStr_int <= 51386))  
  134.                     {  
  135.                         ChinaStr = "Q";  
  136.  
  137.                     }  
  138.  
  139.                     else if ((ChineseStr_int >= 51387) && (ChineseStr_int <= 51445))  
  140.                     {  
  141.                         ChinaStr = "R";  
  142.                     }  
  143.                     else if ((ChineseStr_int >= 51446) && (ChineseStr_int <= 52217))  
  144.                     {  
  145.                         ChinaStr = "S";  
  146.                     }  
  147.                     else if ((ChineseStr_int >= 52218) && (ChineseStr_int <= 52697))  
  148.                     {  
  149.                         ChinaStr = "T";  
  150.                     }  
  151.                     else if ((ChineseStr_int >= 52698) && (ChineseStr_int <= 52979))  
  152.                     {  
  153.                         ChinaStr = "W";  
  154.                     }  
  155.                     else if ((ChineseStr_int >= 52980) && (ChineseStr_int <= 53640))  
  156.                     {  
  157.                         ChinaStr = "X";  
  158.                     }  
  159.                     else if ((ChineseStr_int >= 53689) && (ChineseStr_int <= 54480))  
  160.                     {  
  161.                         ChinaStr = "Y";  
  162.                     }  
  163.                     else if ((ChineseStr_int >= 54481) && (ChineseStr_int <= 55289))  
  164.                     {  
  165.                         ChinaStr = "Z";  
  166.                     }  
  167.  
  168.                 }  
  169.                 else  
  170.                 {  
  171.                     Capstr = ChineseStr;  
  172.                     break;  
  173.                 }  
  174.  
  175.                 Capstr = Capstr + ChinaStr;  
  176.             }  
  177.  
  178.             return Capstr;  
  179.  
  180.         }  
  181.  
  182.     }  

本站热点业务

更多模板/案例展示

关于我们 | 联系我们 | 团队日志 | 网站地图 | 网站合作