private Syllable[] GetOrderedSyllables(string word, EToneType format) { var outSyllables = new List <Syllable>(); foreach (var charWord in word) { var pinyinStringArray = _chinesePinyinConverter.Convert(charWord, format); if (pinyinStringArray == null || pinyinStringArray.Length == 0) { continue; } var pinyinWithMark = pinyinStringArray[0]; var syllable = GetSyllable(charWord, pinyinWithMark); outSyllables.Add(syllable); } return(outSyllables.ToArray()); }
public string[] Convert(char chineseCharacter, EToneType toneType) { var format = new HanyuPinyinOutputFormat { CaseType = HanyuPinyinCaseType.Lowercase, ToneType = HanyuPinyinToneType.WithToneMark, VCharType = HanyuPinyinVCharType.WithUUnicode }; switch (toneType) { case EToneType.Without: format.ToneType = HanyuPinyinToneType.WithoutTone; break; case EToneType.Number: format.ToneType = HanyuPinyinToneType.WithToneNumber; break; } return(PinyinHelper.ToHanyuPinyinStringArray(chineseCharacter, format)); }