Что такое Hashtable в C #?
Хеш-таблица — это специальная коллекция, которая используется для хранения элементов значения ключа. Таким образом, вместо хранения только одного значения, такого как стек, список массивов и очередь, в хэш-таблице хранятся 2 значения. Эти 2 значения образуют элемент хеш-таблицы.
Ниже приведен пример того, как могут выглядеть значения хеш-таблицы.
{ "001" , ".Net" } { "002" , ".C#" } { "003" , "ASP.Net" }
Выше у нас есть 3 пары ключевых значений. Ключи каждого элемента — 001, 002 и 003 соответственно. Значения каждой пары «ключ-значение» — «.Net», «C #» и «ASP.Net» соответственно.
Давайте рассмотрим операции, доступные для коллекции Hashtable, более подробно.
Декларация Hashtable
Объявление Hashtable показано ниже. Hashtable создается с помощью типа данных Hashtable. Ключевое слово «new» используется для создания объекта Hashtable. Затем объект присваивается переменной ht.
Hashtable ht = new Hashtable()
Добавление элементов в Hashtable
Метод Add используется для добавления элемента в очередь. Общий синтаксис утверждения приведен ниже
HashTable.add("key","value")
Пример 1:
Помните, что каждый элемент хеш-таблицы содержит 2 значения: одно является ключом, а другое — значением.
Теперь давайте посмотрим, как это работает на уровне кода. Весь приведенный ниже код будет записан в наше консольное приложение.
Код будет записан в наш файл Program.cs. В приведенной ниже программе мы напишем код, чтобы увидеть, как мы можем использовать вышеупомянутые методы.
Сейчас в нашем примере мы просто посмотрим, как мы можем создать хеш-таблицу, добавить элементы в хеш-таблицу и отобразить их соответствующим образом.
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { Hashtable ht = new Hashtable(); ht.Add("001",".Net"); ht.Add("002","C#"); ht.Add("003","ASP.Net"); ICollection keys = ht.Keys; foreach (String k in keys) { Console.WriteLine(ht[k]); } Console.ReadKey(); } } }
Объяснение кода: —
- Сначала мы объявляем переменную хеш-таблицы, используя тип данных Hashtable, используя ключевое слово «New». Имя переменной определяется как «ht».
- Затем мы добавляем элементы в хеш-таблицу, используя метод Add. Помните, что нам нужно добавить и ключ, и элемент значения при добавлении чего-либо в хеш-таблицу.
- Нет прямого способа отобразить элементы хеш-таблицы.
- Чтобы отобразить хеш-таблицу, нам сначала нужно получить список ключей (001, 002 и 003) из хеш-таблицы.
- Это делается через интерфейс ICollection. Это специальный тип данных, который можно использовать для хранения ключей коллекций хеш-таблиц. Затем мы присваиваем ключи коллекции хеш-таблиц переменной «keys».
- Далее для каждого значения ключа мы получаем ассоциированное значение в хеш-таблице, используя инструкцию ht [k].
Если вышеуказанный код введен правильно и программа запущена, будет отображен следующий вывод.
Вывод:
Давайте рассмотрим еще несколько методов, доступных для хеш-таблиц.
ContainsKey
Этот метод используется для проверки наличия ключа в Hashtable. Ниже приведен общий синтаксис этого утверждения. Оператор вернет true, если ключ существует, иначе он вернет значение false.
Hashtable.Containskey(key)
ContainsValue
Этот метод используется, чтобы увидеть, присутствует ли значение в Hashtable. Ниже приведен общий синтаксис этого утверждения. Оператор вернет true, если значение существует, иначе вернет значение false.
Hashtable.ContainsValue(value)
Пример 2:
Давайте изменим код в нашем консольном приложении, чтобы продемонстрировать, как мы можем использовать методы «Containskey» и «ContainsValue».
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { Hashtable ht = new Hashtable(); ht.Add("001",".Net"); ht.Add("002","C#"); ht.Add("003","ASP.Net"); Console.WriteLine(ht.ContainsKey("001")); Console.WriteLine(ht.ContainsValue("C#")); Console.ReadKey(); } } }
Объяснение кода: —
- Сначала мы используем метод ContainsKey, чтобы увидеть, присутствует ли ключ в хеш-таблице. Этот метод вернет true, если ключ присутствует в хеш-таблице. Этот метод должен возвращать true, поскольку ключ существует в хеш-таблице.
- Затем мы используем метод ContainsValue, чтобы увидеть, присутствует ли значение в хеш-таблице. Этот метод вернет true, так как значение существует в хеш-таблице.
Если вышеуказанный код введен правильно и программа запущена, будет отображен следующий вывод.
Вывод:
Из вывода вы можете ясно видеть, что и ключ, и искомое значение присутствуют в хэш-таблице.
Резюме
- Hashtable используется для хранения элементов, состоящих из пар ключ-значение. Чтобы получить доступ к значению элемента, вам нужно знать ключ элемента.