ChaoYang0502 2015-12-29 02:16 采纳率: 100%
浏览 1582
已采纳

注释一段PHP代码,能翻译成C#最好

 function pinyin($s, $isfirst = false) {
    static $pinyins;

    $s = trim($s);
    $len = strlen($s);
    if($len < 3) return $s;

    if(!isset($pinyins)) {
        $data = '一:yi|丁:ding|丂:kao|七:qi|丄:shang|丅:xia|丆:mu|万:wan|丈:zhang|三:san|上:shang|下:xia|丌:ji|不:bu|与:yu|丏:mian|丐:gai|丑:chou|丒:chou|专:zhuan|且:qie|丕:pi|世:shi|丗:shi|丘:qiu|丙:bing|业:ye|丛:cong|东:dong|丝:si|丞:cheng|丟:diu|丠:qiu|両:liang|丢:diu|丣:you|两:liang|严:yan|並:bing|丧:sang|丨:gun|丩:jiu|个:ge|丫:ya|丬:zhuang|中:zhong|丮:ji|丯:jie|丰:feng|丱:guan|串:chuan|丳:chan|临:lin|丵:zhuo|丶:zhu|丷:ha|丸:wan|丹:dan|为:wei|主:zhu|丼:jing|丽:li|举:ju|丿:pie|乀:fu|乁:yi|乂:yi|乃:nai|乄:wu|久:jiu|乆:jiu|乇:tuo|么:me|义:yi|乊:ho|之:zhi|乌:wu|乍:zha|乎:hu|乏:fa|乐:le|乑:yin|乒:ping|乓:pang|乔:qiao|乕:hu|乖:guai|乗:cheng';
        $a1 = explode('|', $data);
        $pinyins = array();
        foreach($a1 as $v) {
            $a2 = explode(':', $v);
            $pinyins[$a2[0]] = $a2[1];
        }
    }

    $rs = '';
    for($i = 0; $i < $len; $i++) {
        $o = ord($s[$i]);
        if($o < 0x80) {
            if(($o >= 48 && $o <= 57) || ($o >= 97 && $o <= 122)) {
                $rs .= $s[$i]; // 0-9 a-z
            }elseif($o >= 65 && $o <= 90) {
                $rs .= strtolower($s[$i]); // A-Z
            }else{
                $rs .= '_';
            }
        }else{
            $z = $s[$i].$s[++$i].$s[++$i];
            if(isset($pinyins[$z])) {
                $rs .= $isfirst ? $pinyins[$z][0] : $pinyins[$z];
            }else{
                $rs .= '_';
            }
        }
    }
    return $rs;
}
  • 写回答

3条回答 默认 最新

  • devmiao 2015-12-29 02:21
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100
  • ¥15 关于#hadoop#的问题
  • ¥15 (标签-Python|关键词-socket)
  • ¥15 keil里为什么main.c定义的函数在it.c调用不了
  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类
  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 keil的map文件中Image component sizes各项意思