/// <summary> /// Удаление формы слова /// </summary> /// <param name="word">слово</param> /// <param name="form">форма слова</param> public void DelWordForm(string word, string form) { if (!WordForms.ContainsKey(word)) { throw new ArgumentException(SemanticWeb.ErrMsg + "Несуществующий синоним при работе с формами слова"); } WordForms[word].Remove(form); SemanticWeb.IsChanged = true; }
/// <summary> /// Добавление формы слова /// </summary> /// <param name="word">Слово</param> /// <param name="form">Форма слова</param> public void AddWordForm(string word, string form) { if (!WordForms.ContainsKey(word)) { throw new ArgumentException(SemanticWeb.ErrMsg + "Несуществующий синоним при работе с формами слова"); } if (WordForms[word].Contains(form.Trim().ToUpper())) { throw new ArgumentException("Такая форма слова уже существует"); } WordForms[word].Add(form.Trim()); SemanticWeb.IsChanged = true; }
/// <summary> /// Изменение формы слова /// </summary> /// <param name="word">слово</param> /// <param name="oldForm">старая форма</param> /// <param name="newForm">новая форма</param> public void ChangeWordForm(string word, string oldForm, string newForm) { if (!WordForms.ContainsKey(word)) { throw new ArgumentException(SemanticWeb.ErrMsg + "Несуществующий синоним при работе с формами слова"); } if (!WordForms[word].Contains(oldForm)) { throw new ArgumentException(SemanticWeb.ErrMsg + "Попытка изменить несуществующую форму слова"); } int index = WordForms[word].FindIndex(x => x.Trim().ToUpper() == oldForm.Trim().ToUpper()); WordForms[word][index] = newForm.Trim(); SemanticWeb.IsChanged = true; }