/// <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); }
/// <summary> /// Добавление слова в дерево /// </summary> /// <param name="word">Слово</param> public void AddWord(string word) { if (!WordUtils.IsWord(word)) { throw new ArgumentOutOfRangeException("Ошибка! Некорректное слово."); } Root.AddWord(ref word, 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); }