Hashtable

C Sharp > Hashtable
23.11.2016 16:20:48



Статья:

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

В классе Hashtable реализуются интерфейсы IDictionary, ICollection, IEnumerable, ISerializable, IDeserializationCallback и ICloneable. 

Hashtable persons = new Hashtable();

public MainWindows()

{

InitializeComponent();

persons.Add("Сергей", 35); 

persons.Add("Наталия", 30); persons.Add("Костя", 6); persons.Add("Саша", 3);

}

private void Button_Click_l(object sender, RoutedEventArf

{

string name = txtName.Text.Trim();

 if (!string.IsNullOrEmpty(name))

{

  if (persons.ContainsKey(name))

    {

    int age = (int)persons[name]; txtAge.Content = age.ToString();

    }

  else

   txtAge.Content = "Person not found";|

}