Хэш-таблица C# с примерами

Что такое хеш-таблица в C#?

Хэш-таблица — это специальная коллекция, которая используется для хранения элементов «ключ-значение». Таким образом, вместо хранения только одного значения, такого как стек, список массивов и очередь, хеш-таблица хранит два значения. Эти два значения образуют элемент хеш-таблицы.

Ниже приведены примеры того, как могут выглядеть значения хеш-таблицы.

{ "001" , ".Net" }
{ "002" , ".C#" }
{ "003" , "ASP.Net" }

Выше у нас есть 3 пары ключевых значений. Ключи каждого элемента — 001, 002 и 003 соответственно. Значения каждой пары ключ-значение: «. Net“, “C#” и “ASP.Net” соответственно.

Давайте рассмотрим операции, доступные для коллекции Hashtable, более подробно.

Объявление хеш-таблицы

Объявление Hashtable показано ниже. Hashtable создается с помощью типа данных Hashtable. Ключевое слово «new» используется для создания объекта Hashtable. Затем объект присваивается переменной ht.

Hashtable ht = new Hashtable()

Добавление элементов в хэш-таблицу

Метод Add используется для добавления элемента в очередь. Общий синтаксис оператора приведен ниже.

HashTable.add("key","value")

Пример 1:

Помните, что каждый элемент хеш-таблицы состоит из двух значений: одно — ключ, а другое — значение.

Теперь давайте посмотрим, как это работает на уровне кода. Весь приведенный ниже код будет записан в наше консольное приложение.

Код будет записан в наш файл Program.cs. В приведенной ниже программе мы напишем код, чтобы увидеть, как мы можем использовать вышеупомянутые методы.

Сейчас в нашем примере мы просто посмотрим, как мы можем создать хеш-таблицу, добавить в нее элементы и отобразить их соответствующим образом.

Хэш-таблица в C#

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();
   }
 }
}

Объяснение кода: -

  1. Сначала мы объявляем переменную хеш-таблицы, используя тип данных Hashtable, используя ключевое слово «New». Имя определяемой переменной — «ht».
  2. Затем мы добавляем элементы в хеш-таблицу с помощью метода Add. Помните, что нам нужно добавить элемент ключа и значения при добавлении чего-либо в хеш-таблицу.
  3. Не существует прямого способа отображения элементов хеш-таблицы.
  • Чтобы отобразить хеш-таблицу, нам сначала нужно получить список ключей (001, 002 и 003) из хеш-таблицы.
  • Это делается через интерфейс ICollection. Это специальный тип данных, который можно использовать для хранения ключей коллекций хеш-таблиц. Затем мы присваиваем ключи коллекции хеш-таблиц переменной «keys».
  1. Далее для каждого значения ключа мы получаем связанное значение в хеш-таблице с помощью оператора ht[k].

Если приведенный выше код введен правильно и программа запущена, будет отображен следующий вывод.

Вывод:

Хэш-таблица в C#

Давайте рассмотрим еще несколько методов, доступных для хеш-таблиц.

СодержитКлюч

Этот метод используется для проверки наличия ключа в хеш-таблице. Ниже приведен общий синтаксис этого оператора. Оператор вернет true, если ключ существует, в противном случае он вернет значение false.

Hashtable.Containskey(key)

Содержит значение

Этот метод используется для проверки наличия значения в хеш-таблице. Ниже приведен общий синтаксис этого оператора. Оператор вернет true, если значение существует, в противном случае он вернет значение false.

Hashtable.ContainsValue(value)

Пример 2:

Давайте изменим код в нашем Консольное приложение чтобы продемонстрировать, как мы можем использовать методы «Containskey» и «ContainsValue».

Хэш-таблица в C#

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();
   }
 }
}

Объяснение кода: -

  1. Сначала мы используем метод containsKey, чтобы проверить, присутствует ли ключ в хеш-таблице. Этот метод вернет true, если ключ присутствует в хеш-таблице. Этот метод должен возвращать значение true, поскольку ключ существует в хеш-таблице.
  2. Затем мы используем метод containsValue, чтобы проверить, присутствует ли значение в хеш-таблице. Этот метод вернет «истину», поскольку значение существует в хеш-таблице.

Если приведенный выше код введен правильно и программа запущена, будет отображен следующий вывод.

Вывод:

Хэш-таблица в C#

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

Итого

Хэш-таблица используется для хранения элементов, состоящих из пар ключевых значений. Чтобы получить доступ к значению элемента, вам необходимо знать ключ элемента.