Ejemplo n.º 1
0
        /// <summary>
        /// 지정된 단어에 맞는 조사를 자동으로 선택합니다.
        /// </summary>
        /// <param name="word">조사가 붙을 단어입니다.</param>
        /// <param name="josa">단어에 붙일 조사입니다.</param>
        /// <returns>선택된 조사입니다.</returns>
        public static string Select(string word, string josa)
        {
            var finalConsonant = Hangul.ExtractFinalConsonant(word[word.Length - 1]);

            switch (josa)
            {
            case "으로/로":
                if (finalConsonant == FinalConsonant.None || finalConsonant == FinalConsonant.ㄹ)
                {
                    return("로");
                }
                else
                {
                    return("으로");
                }

            default:
                string[] splitedJosa = josa.Split('/');
                if (finalConsonant == FinalConsonant.None)
                {
                    return(splitedJosa[1]);
                }
                else
                {
                    return(splitedJosa[0]);
                }
            }
        }
Ejemplo n.º 2
0
 /// <summary>
 /// 두 한글의 값이 같은지 확인합니다.
 /// </summary>
 /// <param name="value"></param>
 /// <returns></returns>
 public bool Equals(Hangul value) =>
 Consonant == value.Consonant &&
 Vowel == value.Vowel &&
 FinalConsonant == value.FinalConsonant;