Esempio n. 1
0
 /// <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);
     }
 }
Esempio n. 2
0
 /// <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>());
     }
 }
Esempio n. 3
0
 /// <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));
 }