Наиболее употребимые методы класса Hashtable
Метод | Описание |
public virtual bool ContainsKey(object k) | Возвращает значение true, если в вызывающей Hashtable-коллекции содержится ключ, заданный параметром k. В противном случае возвращает значение false. |
public virtual bool ContainsValue(object v) | Возвращает значение true, если в вызывающей Hashtable-коллекции содержится значение, заданное параметром v. В противном случае возвращает значение false |
public virtual IDictionaryEnumerator GetEnumerator() | Возвращает для вызывающей Hashtable-коллекции нумератор типа IDictionaryEnumerator |
public static Hashtable Synchronized( Hashtable ht) | Возвращает синхронизированную версию вызывающей Hashtabie-коллекции, переданной в параметре ht. |
В классе Hashtable, помимо свойств, определенных в реализованных им интерфейсах, также определены два собственных public-свойства. Используя следующие свойства, можно из Hashtable-коллекции получить коллекцию ключей или значений:
public virtual ICollection Keys { get ; }
public virtual ICollection Values { get ; }
В классе определен так же и индексатор
this[ключ] {get; set;}
В классе Hashtable пары ключ/значение хранятся в форме структуры типа DictionaryEntry, но по большей части вас это не будет касаться, поскольку свойства и методы обрабатывают ключи и значения отдельно.
// Демонстрация использования Hashtable-коллекции.
using System;
using System.Collections;
Class HashtableDemo
{
Public static void Main()
{
Hashtable ht = new Hashtable(); // Создаем хеш-таблицу.
// Добавляем элементы в хеш-таблицу.
ht.Add("здание", "жилое помещение");
ht.Add("книга", "набор печатных слов");
ht.Add("яблоко", "съедобный фрукт");
ht.Add("автомобиль", "транспортное средство");
//Добавляем элементы с помощью индексатора.
ht ["трактор"] = "сельскохозяйственная машина";
// Извлекаем элемент по ключу.
string value = (string)ht ["автомобиль"];
Console.WriteLine ("---автомобиль: " + value);
// Получаем коллекцию ключей.
// Используем ключи для получения значений.
Console.WriteLine("\n---Первый способ---");
ICollection с = ht.Keys;
Foreach(string str in с)
Console.WriteLine(str + ": " + ht[str]);
ht.Remove("трактор"); // Удалить элемент
Console.WriteLine("\n---Второй способ---");
// Используем структуру DictionaryEntry для получения ключей и значений.
Foreach (DictionaryEntry de in ht)
{
Console.WriteLine(de.Key + ": " + de.Value);
}
}
}
Дата добавления: 2019-02-08; просмотров: 599;