Описать класс «англо-русский словарь», обеспечивающий возможность хранения нескольких вариантов перевода - C#
Формулировка задачи:
Описать класс «англо-русский словарь», обеспечивающий возможность хранения нескольких вариантов перевода для каждого слова. Реализовать доступ по строковому индексу — английскому слову. Обеспечить возможность вывода всех значений слов по заданному префиксу.
Решение задачи: «Описать класс «англо-русский словарь», обеспечивающий возможность хранения нескольких вариантов перевода»
textual
Листинг программы
using System;
using System.Collections.Generic;
namespace ConsoleApplication5
{
class AngloRusskiy
{
private Dictionary<string, List<string>> slovar;
public AngloRusskiy()
{
slovar = new Dictionary<string, List<string>>();
}
public void Add(string str1,string str2)
{
if(slovar.ContainsKey(str1)) slovar[str1].Add(str2);
else slovar.Add(str1, new List<string> { str2 });
}
public void Del(string str)
{
if(slovar.ContainsKey(str)) slovar.Remove(str);
}
public void Del(string str1,string str2)
{
if(slovar.ContainsKey(str1) && slovar[str1].Contains(str2)) slovar[str1].Remove(str2);
}
public void Print(string str)
{
if(slovar.ContainsKey(str))
{
Console.Write(str + " = ");
Console.WriteLine(string.Join(" ",slovar[str]));
}
else Console.WriteLine("не знаю такого слова " + str);
}
}
class Program
{
static void Main(string[] args)
{
var slovar = new AngloRusskiy();
slovar.Add("father", "отец");
slovar.Add("father", "папа");
slovar.Add("father", "отчим");
slovar.Add("mother", "мама");
slovar.Print("father");
slovar.Del("father","отчим");
slovar.Print("father");
slovar.Del("father");
slovar.Print("father");
slovar.Print("mother");
Console.ReadKey(true);
}
}
}