Практикум по курсу "Объектно-ориентированное программирование" на языке C#. Андрианова А.А - 94 стр.

UptoLike

93
phone = p;
}
// конструктор по умолчанию
public Info()
{
fio = "";
phone = "";
}
// свойство доступа к имени абонента
public string Fio
{
get { return fio; }
}
// свойство доступа к телефону
public string Phone
{
get { return phone; }
}
// операция получения строкового представления записи
public static implicit operator string(Info ob)
{
return "Абонент: "+ob.fio + " Телефон: " + ob.phone;
}
}
Как видно, класс Info не представляет особой сложности и может быть
легко дополнен новыми полями и свойствами. Остановимся подробнее на
классе PhoneBook. Класс содержит словарь, в котором буквам
соответствуют списки записей об абонентах, чьи имена начинаются с этой
буквы. Данный словарь, а также пустые списки записей об абонентах,
создаются в конструкторе класса PhoneBook:
// класс хэш-таблицы в виде массива списков
class PhoneBook
{
// хэш-таблица записей об абонентах
Dictionary<char, List<Info>> book;
// конструктор хэш-таблицы
public PhoneBook()
{
book = new Dictionary<char, List<Info>>();
// создание списка (группы абонентов) для каждой буквы
for (char c = 'А'; c <= 'Я'; c++)
book.Add(c, new List<Info>());
}
. . .
}
             phone = p;
         }

         // конструктор по умолчанию
         public Info()
         {
            fio = "";
            phone = "";
         }
         // свойство доступа к имени абонента
         public string Fio
         {
            get { return fio; }
         }

         // свойство доступа к телефону
         public string Phone
         {
            get { return phone; }
         }
         // операция получения строкового представления записи
         public static implicit operator string(Info ob)
         {
            return "Абонент: "+ob.fio + " Телефон: " + ob.phone;
         }
     }

     Как видно, класс Info не представляет особой сложности и может быть
легко дополнен новыми полями и свойствами. Остановимся подробнее на
классе PhoneBook. Класс содержит словарь, в котором буквам
соответствуют списки записей об абонентах, чьи имена начинаются с этой
буквы. Данный словарь, а также пустые списки записей об абонентах,
создаются в конструкторе класса PhoneBook:

     // класс хэш-таблицы в виде массива списков
     class PhoneBook
     {
        // хэш-таблица записей об абонентах
        Dictionary> book;
        // конструктор хэш-таблицы
        public PhoneBook()
        {
           book = new Dictionary>();
           // создание списка (группы абонентов) для каждой буквы
           for (char c = 'А'; c <= 'Я'; c++)
              book.Add(c, new List());
        }
       . . .
     }

93