C # Hashtable з прикладами

Зміст:

Anonim

Що таке 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" використовується для створення об'єкта хеш-таблиці. Потім об’єкт призначається змінній ht.

Hashtable ht = new Hashtable()

Додавання елементів до Hashtable

Метод Add використовується для додавання елемента в чергу. Загальний синтаксис висловлювання наведено нижче

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

Приклад 1:

Пам'ятайте, що кожен елемент хеш-таблиці складається з 2 значень, одне є ключовим, а друге - значенням.

Тепер давайте подивимось, як це працює на рівні коду. Весь згаданий нижче код буде записаний до нашої програми Console.

Код буде записаний у наш файл 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();}}} 

Пояснення коду: -

  1. Спочатку ми оголошуємо змінну хеш-таблиці, використовуючи тип даних Hashtable, використовуючи ключове слово "Нове". Ім'я змінної визначає 'ht'.
  2. Потім ми додаємо елементи до хеш-таблиці за допомогою методу Add. Пам'ятайте, що нам потрібно додати як ключ, так і елемент значення, коли додаємо щось до хеш-таблиці.
  3. Немає прямого способу відображення елементів хеш-таблиці.
  • Для того, щоб відобразити хеш-таблицю, нам спочатку потрібно отримати список ключів (001, 002 та 003) з хеш-таблиці.
  • Це робиться через інтерфейс ICollection. Це спеціальний тип даних, який можна використовувати для зберігання ключів колекцій хеш-таблиць. Потім ми присвоюємо ключі колекції хеш-таблиць змінній 'ключі'.
  1. Далі для кожного значення ключа ми отримуємо пов'язане значення в хеш-таблиці за допомогою оператора ht [k].

Якщо вищевказаний код введено належним чином і програму запущено, відобразиться наступний результат.

Вихід:

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

МіститьКлюч

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

Hashtable.Containskey(key)

Містить значення

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

Hashtable.ContainsValue(value)

Приклад 2:

Давайте змінимо код у нашому додатку Console, щоб продемонструвати, як ми можемо використовувати методи "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();}}}

Пояснення коду: -

  1. Спочатку ми використовуємо метод ContainsKey, щоб перевірити, чи присутній ключ у хеш-таблиці. Цей метод поверне true, якщо ключ присутній у хеш-таблиці. Цей метод повинен повернути true, оскільки ключ справді існує в хеш-таблиці.
  2. Потім ми використовуємо метод ContainsValue, щоб перевірити, чи присутнє значення у хеш-таблиці. Цей метод поверне значення "true", оскільки значення існує в хеш-таблиці.

Якщо вищевказаний код введено належним чином і програму запущено, відобразиться наступний результат.

Вихід:

З результату видно, що ключ і значення, що шукається, присутні в хеш-таблиці.

Резюме

  • Хеш-таблиця використовується для зберігання елементів, які складаються з пар значень ключів. Щоб отримати доступ до значення елемента, потрібно знати ключ елемента.