internal Word(string code, string[] pinyins) { Code = (char)Convert.ToInt32(code); foreach (var pinyin in pinyins) { Pinyins.Add(new Pinyin(pinyin.Split('.'))); } }
//设置汉字拼音信息 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); }
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); }