/// <summary> /// 这个单词的拼音是否需要保存(如果完全是默认注音就不保存,否则如果拼音合理,就应该保存) /// </summary> /// <param name="word"></param> /// <param name="py"></param> /// <returns></returns> private bool NeedSave(string word, List <string> py) { try { if (!PinyinHelper.ValidatePinyin(word, py)) { return(false); } for (int i = 0; i < word.Length; i++) { char c = word[i]; if (PinyinHelper.GetDefaultPinyin(c) != py[i]) { return(true); } } return(false); } catch { return(false); } }
/// <summary> /// 获得一个词的拼音 /// 如果这个词不包含多音字,那么直接使用其拼音 /// 如果包含多音字,则找对应的注音词,根据注音词进行注音 /// 没有找到注音词的,使用默认拼音 /// </summary> /// <param name="str"></param> /// <returns></returns> public virtual IList <string> GetCodeOfString(string str, string charCodeSplit = "") { if (IsInWordPinYin(str)) { var pyList = GenerateMutiWordPinYin(str); for (var i = 0; i < str.Length; i++) { if (pyList[i] == null) { pyList[i] = PinyinHelper.GetDefaultPinyin(str[i]); } } return(pyList); } try { return(PinyinHelper.GetDefaultPinyin(str)); } catch (Exception ex) { Debug.WriteLine(ex.Message); return(new List <string>()); } }
/// <summary> /// 获得一个词的拼音 /// 如果这个词不包含多音字,那么直接使用其拼音 /// 如果包含多音字,则找对应的注音词,根据注音词进行注音 /// 没有找到注音词的,使用默认拼音 /// </summary> /// <param name="str"></param> /// <returns></returns> public override Code GetCodeOfString(string str) { if (IsInWordPinYin(str)) { List <string> pyList = GenerateMutiWordPinYin(str); for (int i = 0; i < str.Length; i++) { if (pyList[i] == null) { pyList[i] = PinyinHelper.GetDefaultPinyin(str[i]); } } return(new Code(pyList, true)); } try { return(new Code(PinyinHelper.GetDefaultPinyin(str), true)); } catch (Exception ex) { Debug.WriteLine(ex.Message); return(null); } }
public string GetCodeOfChar(char str) { return(PinyinHelper.GetDefaultPinyin(str)); }