Example #1
0
 internal Word(string code, string[] pinyins)
 {
     Code = (char)Convert.ToInt32(code);
     foreach (var pinyin in pinyins)
     {
         Pinyins.Add(new Pinyin(pinyin.Split('.')));
     }
 }
Example #2
0
        //设置汉字拼音信息
        protected internal bool Set_Pinyin(string strPinyin, string urlVedio)
        {
            bool         bResult  = true;
            Word_Pingyin pPingyin = Word_Manager._Manager.GetWord_Pinyin(strPinyin);

            if (pPingyin == null)
            {
                bResult = Word_Manager._Manager.InitWord_Pinyin(strPinyin, urlVedio);
            }

            //加入新读音
            if (bResult && !Pinyins.Contains(strPinyin))
            {
                Pinyins.Add(strPinyin);
            }
            return(bResult);
        }
Example #3
0
        public static string Convert(string str, Pinyins pfrom, Pinyins pto)
        {
            Stream sm = Assembly.GetExecutingAssembly().GetManifestResourceStream("TSLib.Text.PinyinTable.xml");

            str = str.ToLower();         //防止大写导致数据库无对应内容
            str = str.Replace('v', 'ü'); //v与ü通用,但数据库中只有ü
            string[] strs = StringToArray(str, " ");
            string   r    = "";
            XElement root = XElement.Load(sm);
            int      i    = 0;

            foreach (string s in strs)
            {
                if (s == "\r\n")                                         //遇到换行,输出string也加上换行
                {
                    if (r != "" && r.Substring(r.Length - 1, 1) != "\n") //过滤第一行为空,&&后面是干啥来着的。。。
                    {
                        r = r.Substring(0, r.Length - 1);
                    }
                    r += "\r\n";
                }
                else
                {
                    var query =
                        from el in root.Elements("aPinyin")
                        where (string)el.Element(pfrom.ToString()) == s
                        select el;
                    if (query.Count() == 0)
                    {
                        r += "[" + s + "] ";
                    }
                    else
                    {
                        XElement el = query.ElementAt(0);
                        r += (string)el.Element(pto.ToString()) + " ";
                    }
                }
                i++;
            }
            return(r);
        }