首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

有懂C#的VB没,帮忙把这个方法转成C#下吧,小女万分感谢

2012-05-12 
有懂C#的VB大虾没,帮忙把这个方法转成C#下吧,小女万分感谢.longlength_string,step_string,asc_char,istri

有懂C#的VB大虾没,帮忙把这个方法转成C#下吧,小女万分感谢.
                long   length_string,step_string,asc_char,i
                string   pym_string,pym,char_string
                //   取得字符串长度  
                length_string   =   len(hz_cluster)
                  //   设定初始值
                  i   =   1
                  pym_string   =   ' '
                  do   until   i   >   length_string
char_string   =   mid(hz_cluster,i,1)
asc_char   =   asc(char_string)
//   设定默认步长
step_string   =   1
if   asc_char   >   64   and   asc_char   <   91   then                         //   大写字母
pym   =   char_string
elseif   asc_char   >   96   and   asc_char   <   123   then               //   小写字母
pym   =   char_string
elseif   asc_char   >   47   and   asc_char   <   58   then                 //   数字
pym   =   char_string
elseif   asc_char   >   127   then                                                   //   汉字,步长为2
char_string   =   mid(hz_cluster,i,2)
select   pym   into   :pym   from   sys_hzk   where   hz=:char_string;
If   Sqlca.sqlcode   <>   0   Then   pym   =   '* '
pym   =   mid(pym,1,1)
step_string   =   2
else                                                                                               //   其它字符
pym   =   ' '
end   if
i   =   i   +   step_string
pym_string   =   pym_string   +   pym
                    loop
                  //   以小写方式返回
                    return   left(upper(pym_string),12)

[解决办法]

C# code
{    long  length_string = 0, step_string = 0,  i;//asc_char = 0,    string  pym_string = string.empty, pym = string.empty;    char char_string = "";    //   取得字符串长度      length_string = hz_cluster.Length;    //   设定初始值    i = 1;    //pym_string   =   ' ' 上面已赋初值    while(i > length_string)    {        char_string = hz_cluster.Substring(i,1);        //asc_char = asc(char_string)        //   设定默认步长        step_string   =   1        if ((char_string > 64) && (char_string < 91))//   大写字母        {            pym = char_string;        }           else if ((char_string > 96) && (char_string < 123))              //   小写字母        {            pym = char_string;        }        else if ((char_string > 47) && (char_string < 58))              //   数字        {            pym = char_string;        }        else if (char_string > 127)                             //   汉字,步长为2        {            char_string = hz_cluster.Substring(i,2);           ////////////////////////////////////////////////////////////           /* select pym into :pym from sys_hzk where hz=:char_string;*/           //这句是从数据库查询?            if(Sqlca.sqlcode <> 0)             {                pym = "*";            }            pym = pym.Substring(1,1);            step_string   =   2        }               else        {//   其它字符            pym = "";        }        i += step_string;        pym_string = pym_string + pym;    }    //   以小写方式返回    return  pym_string.ToLower().Substring(0,12);} 

热点排行