c#获得汉字的第一个字母,方便用拼音码查数据

来源:互联网 发布:燕十八mysql笔记 编辑:程序博客网 时间:2024/04/29 18:53

//我编程时要用到查询测字拼音首字母的功能,于是从网上搜
//但发现大部分都是将汉字的内码转换成区位码,然后得出拼音的首字母
//这个方法好是好,只是许多GB2312编码以外的汉字查不到,于是我想了这个办法,我觉得代码很短,但很实用
//而且GBK字符集的汉字都能查,希望大家多提意见
 public class hzpy
 {
  public hzpy()
  {
   //
   // TODO: 在此处添加构造函数逻辑
   //
  }


  //返回给定字符串的单个字
  public String IndexCode(String IndexTxt)
  {
   String _Temp=null;
   for(int i=0;i<IndexTxt.Length;i++)
    _Temp = _Temp + GetOneIndex( IndexTxt.Substring(i,1) );
   return _Temp;
  }

 

  //得到单个字符的首字母
  private String GetOneIndex(String OneIndexTxt)
  {
  

   if(Convert.ToChar(OneIndexTxt)>=0 && Convert.ToChar(OneIndexTxt)<256)
    return OneIndexTxt;
   else
    return GetGbkX(OneIndexTxt);
  }

 

  //根据根据测字拼音排序得到首字母

  private 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";
   }
   if(str.CompareTo("仨")<0)
   {
    return "R";
   }
   if(str.CompareTo("他")<0)
   {
    return "S";
   }
   if(str.CompareTo("哇")<0)
   {
    return "T";
   }
   if(str.CompareTo("夕")<0)
   {
    return "W";
   }
   if(str.CompareTo("丫")<0)
   {
    return "X";
   }
   if(str.CompareTo("帀")<0)
   {
    return "Y";
   }
   if(str.CompareTo("咗")<0)
   {
    return "Z";
   }
   return str;
  }

 } 

原创粉丝点击