예제 #1
0
        /// <summary>
        /// Получение слов, имеющих заданное окончание.
        /// </summary>
        /// <param name="ending">Заданное окончание.</param>
        /// <returns>Список из слов.</returns>
        public List <string> GetWordsWithEnding(string ending)
        {
            var list = Root.GetWordsWithEnding(ending, 0);

            WordUtils.ReverseWordList(list);
            return(list);
        }
예제 #2
0
 /// <summary>
 /// Добавление слова в дерево
 /// </summary>
 /// <param name="word">Слово</param>
 public void AddWord(string word)
 {
     if (!WordUtils.IsWord(word))
     {
         throw new ArgumentOutOfRangeException("Ошибка! Некорректное слово.");
     }
     Root.AddWord(ref word, 0);
 }
예제 #3
0
        /// <summary>
        /// Чтение из файла слов, записанных в одну строку через пробел.
        /// </summary>
        /// <param name="filename">Имя файла.</param>
        /// <returns>Список прочитанных слов.</returns>
        public static List <string> GetWordsFromFile(string filename)
        {
            string content = File.ReadAllText(filename);
            var    result  = new List <string>();
            var    words   = content.Split(new[] { " " }, StringSplitOptions.RemoveEmptyEntries);

            for (var i = 0; i < words.Length; ++i)
            {
                if (WordUtils.IsWord(words[i] = words[i].Trim()))
                {
                    result.Add(words[i]);
                }
                else
                {
                    throw new ArgumentException("Ошибка! Недопустимое слово.");
                }
            }
            return(result);
        }