C#获得汉字的首字母

using  System;
using  System.Text;

namespace  ConsoleApplication1
{
    
class  Program
    {
        
static   void  Main( string [] args)
        {
            
while  ( true )
            {
                
string  text  =  Console.ReadLine();
                
if  (text.ToUpper()  ==   " Q " )
                {
                    
break ;
                }
                Console.WriteLine(GetChineseSpell(text));
            }
        }

        
static   public   string  GetChineseSpell( string  strText)
        {
            
int  len  =  strText.Length;
            
string  myStr  =   "" ;
            
for  ( int  i  =   0 ; i  <  len; i ++ )
            {
                myStr 
+=  getSpell(strText.Substring(i,  1 ));
            }
            
return  myStr;
        }

        
static   public   string  getSpell( string  cnChar)
        {
            
byte [] arrCN  =  Encoding.Default.GetBytes(cnChar);
            
if  (arrCN.Length  >   1 )
            {
                
int  area  =  ( short )arrCN[ 0 ];
                
int  pos  =  ( short )arrCN[ 1 ];
                
int  code  =  (area  <<   8 +  pos;
                
int [] areacode  =  {  45217 45253 45761 46318 46826 47010 47297 47614 48119 48119 49062 49324 49896 50371 50614 50622 50906 51387 51446 52218 52698 52698 52698 52980 53689 54481  };
                
for  ( int  i  =   0 ; i  <   26 ; i ++ )
                {
                    
int  max  =   55290 ;
                    
if  (i  !=   25 ) max  =  areacode[i  +   1 ];
                    
if  (areacode[i]  <=  code  &&  code  <  max)
                    {
                        
return  Encoding.Default.GetString( new   byte [] { ( byte )( 65   +  i) });
                    }
                }
                
return   " * " ;
            }
            
else   return  cnChar;
        }
    }
}

转载于:https://www.cnblogs.com/EasyData/archive/2008/05/29/1209882.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值