Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Справка.doc
Скачиваний:
12
Добавлен:
07.02.2015
Размер:
367.1 Кб
Скачать

Словарь Hashtable

В отличие от массивов, где каждый элемент идентифицируется своим индексом, в словарях для идентификации элементов используются ключи. В качестве ключей могут выступать как текстовые строки, так и числа. Для большей наглядности естественно использовать строки более целесообразно.

Создание словаря

Для создания словарей предусмотрено несколько конструкторов.

Конструктор без параметров

Конструктор без параметра позволяет создать пустой словарь с параметрами по умолчанию.

Hashtable myTable=new Hashtable();

В скобочках в конце строки можно указать начальную емкость словаря, по мере надобности емкость будет увеличиваться автоматически при добавлении нового элемента.

Добавление элементов в словарь:

Для добавления элементов в словарь используется метод Add

Пример:

Hashtable myTable = new Hashtable();

myTable.Add("Petrov","8-923-225-25-25");

myTable.Add("Sidorov", "8-913-931-39-31");

В данном примере мы создали словарь myTable и добавили в него две пары элементов ключь-значение (Роль коюча выполняет фамилия, роль значения – номер телефона).

Вывод элементов словаря на консоль

Для получения элементов словаря используется итератор класса System.Collections.IdictionaryEnumerator.

Рассмотрим пример его использования, выведем созданные в предыдущем примере список на экран.

IDictionaryEnumerator myEnumerator = myTable.GetEnumerator();

while (myEnumerator.MoveNext())

{

System.Console.WriteLine("{0}-{1}", myEnumerator.Key, myEnumerator.Value);

}

Сначала создается итератор при помощи метода GetEnumerator.

Для получения пар ключ-значение создается цикл while. Ключ извлекается при помощи свойства Key, а значение при помощи свойства Value.

При необходимости итератор можно установить в начало словаря при помощи метода Reset.

 

Изменение значения по ключу

Для изменения значения по известному ключу нужно просто переприсвоить значение списка с соответствующим ключом.

Пример:

myTable["Petrov"] = "67464";

Поиск по ключу

После добавления элементов в словарь их можно извлекать из словаря при помощи свойства Item. Это свойство доступно через квадратные скобки. На самом деле работает так же как в обычном массиве.

Пример:

Допустим нам нужно из готового словаря вывести номер телефона Петрова(используем все тотже список, который создали в нгачале статьи)

System.Console.WriteLine(“Телефон Петрова: {0}, myTable[“Petrov”]”);

Возникают ситуации, когда вводится ключь которого нет в списке, тогда возникает исключение null. Для того, чтобы избежать это исключение предварительно нужно проверять присутствует ли такой элемент в списке или нет. Проверка выполняется при помощи метода Contains, который принимает два значения: True или False.

Пример:

if(myTable.Contains(“Petrov”))

{

System.Console.WriteLine(“Телефон Петрова: {0}, myTable[“Petrov”]”);

}

Если значение с ключом “Petrov” есть в словаре, то оно выведется на экран.

Для проверки содержимого словаря можно также использовать методы:

ContainsKey – проверяет есть ли элемент с заданным ключем.

ContainsValue – проверяет есть ли элемент с заданным значением.

Удаление элементов из словаря

Для полной очистки словаря используется метод Clear

myTable.Clear();

Для удаления элемента с заданным ключом используется метод Remove.

Допустим нам нужно удалить запись с ключом “Petrov”, для этого пишем

myTable.Remove(“Petrov”);

Размер словаря

Текущий размер словаря можно узнать при помощи свойства Count

myTable.Count;